Большая Омега Нотация. Правильно ли я это делаю?

Если у меня есть алгоритм, который работает в лучшем случае n времени и в худшем случае n ^ 2 раза, можно ли сказать, что алгоритм Big Omega (n)?

Означает ли это, что алгоритм будет работать как минимум n (время)? Я просто не уверен, есть ли здесь правильная идея.

Спасибо.

+2
23 сент. '11 в 4:41
источник поделиться
2 ответа

Для Big Oh вы укажете худшее время как время, которое требуется, в вашем случае O(n^2). Для Big Omega вы указываете наименьшее время, в данном случае f(n).

Также см. руководство для Big O и это обсуждение Big O и Большая Омега.

+1
23 сент. '11 в 4:43
источник

Да. Если время выполнения f (n) асимптотически ограничено ниже g (n) = n, то f (n) BigOmega (n).

Изменить. В большинстве случаев алгоритмы анализируются с точки зрения их наихудшего поведения - что соответствует нотации "Big O". В вашем случае время выполнения - O (n ^ 2).

Но для тех редких случаев, когда вам нужно поговорить о нижней границе или лучше case, используется нотация "Big Omega". И в вашем случае время выполнения по крайней мере, n, поэтому правильно описать его как BigOmega (n).

+1
23 сент. '11 в 4:55
источник

Посмотрите другие вопросы по метке или Задайте вопрос