Просто нужно подтверждение чего-то реального.
Если алгоритм выполняет тесты n(n-1)/2
для запуска, это большой oh O(n^2)
?
Обозначение Big Oh
Ответ 1
n (n-1)/2 расширяется до (n^2 -n) / 2
, то есть (n^2/2) - (n/2)
(n^2/2)
и (n/2)
- две компоненты функций, из которых доминирует n^2/2
.
Поэтому мы можем игнорировать часть - (n/2)
.
Из n^2/2
вы можете безопасно удалить часть /2 в анализе асимптотической нотации.
Это упрощает
n^2
Поэтому да, это в O (n ^ 2)
Ответ 2
Да, это правильно.
n(n-1)/2
расширяется до n^2/2 - n/2
:
Линейный член n/2
падает, потому что он имеет более низкий порядок. Это оставляет n^2/2
. Константа поглощается в большой-O, оставляя n^2
.
Ответ 3
Да:
n(n-1)/2 = (n2-n)/2 = O(n^2)
Ответ 4
Да, это так. n(n-1)/2
(n^2 - n)/2
, который явно меньше c*n^2
для всех n>=1
, если вы выберите a c
, по крайней мере, 1.