Большой О нотации - PullRequest
       7

Большой О нотации

12 голосов
/ 24 ноября 2011

Просто нужно подтверждение на что-то очень быстрое.Если для выполнения алгоритма требуется n(n-1)/2 тестов, будет ли большой ой O(n^2)?

Ответы [ 4 ]

17 голосов
/ 24 ноября 2011

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)

5 голосов
/ 24 ноября 2011

Да, это правильно.

n(n-1)/2 расширяется до n^2/2 - n/2:

Линейный член n/2 выпадает из-за более низкого порядка.Это оставляет n^2/2.Константа поглощается в Big-O, оставляя n^2.

3 голосов
/ 24 ноября 2011

Да:

n(n-1)/2 = (n2-n)/2 = O(n^2)
2 голосов
/ 24 ноября 2011

Да, это так.n(n-1)/2 равно (n^2 - n)/2, что явно меньше, чем c*n^2 для всех n>=1, если вы выберете c, то есть как минимум 1.

...