Алгоритмы нотации Big O

#algorithm

#алгоритм

Вопрос:

введите описание изображения здесь

У меня есть эта проблема, и я не понимаю, как ответ для квадратичного / логарифмического и экспоненциального порядка равен 40, 15 и 100. Я знаю, что формулы для них — O (n2), O (log (n)), O (2n), но не могу сопоставить ответы с этими формулами. Что такое n в этой задаче? Это размер набора данных (20) или 2? Пожалуйста, дайте мне знать ваши мысли.

Ответ №1:

n относится к размеру входных данных; в данном случае 10/20. Но важной частью является не фактическое значение n , а соотношение между предыдущим и текущим n (в данном случае удвоение входных данных).

  • Если алгоритм равен O (1), удвоение размера входных данных не меняет результат. (10 => 10)
  • Если алгоритм равен O (n), удвоение входных данных удваивает выходные данные. (10 => 20)
  • Если алгоритм равен O (n ^ 2), удвоение входных данных в четыре раза увеличивает выходные данные. (10 => 40)
  • Если алгоритм равен O(log(n)), удвоение входных данных умножает выходные данные на log(2). (10 => 15)
  • Если алгоритм равен O (k ^ n), удвоение входных данных равносильно повышению выходных данных до 2-й степени. (10 => 100).

Комментарии:

1. Если ответ полезен, пожалуйста, подумайте о том, чтобы проголосовать за него и пометить его как принятый.