Расходы. Анализ алгоритмов. Алгоритмы в - PullRequest
0 голосов
/ 05 мая 2020

Можно утверждать, что стоимость алгоритма O (n²) всегда будет меньше стоимости O (n). Прокомментируйте истинность утверждения:

1 Ответ

1 голос
/ 06 мая 2020

Нет. Утверждение, что алгоритм имеет размер O (n²), означает, что существует по крайней мере случай, когда алгоритм будет принимать квадратичное c количество операций для завершения sh.

В алгоритме O (n), наихудший случай будет линейным, поэтому для достаточно большого входа в наихудшем случае алгоритма O (n²) всегда потребуется больше операций, чем алгоритма O (n).

O(n) = k * n + a
O(n²) = k2 * n² + k1 * n + b

so we wanna prove that there is a case that O(n) < O(n²)

k * n + a < k2 * n² + k1 * n + b
(k - k1) * n + (a - b) < k2 * n²
(k - k1) / k2 + (a - b) / (k2 * n) < n

Мы видим, что , по мере роста n константы в левой части останутся такими же или уменьшатся, поэтому будет точка, где O (n)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...