O-большое и o-малое — математические обозначения для сравнения асимптотического поведения функций.
Эти обозначения часто используют в математическом анализе и при оценке сложности алгоритма.
Фраза «сложность алгоритма o(n!)» означает, что время вычислений (или общее количество операций) для алгоритма является o-малым от факториала числа данных, с которыми работает алгоритм.
Определения
Пусть
и
– две положительные
вещественнозначные функции. Говорят что
- является O-большим от при , если отношение ограничено в некоторой окрестности .
- является о-малым от при , если отношение при .
Обозначение
Часто выражение «
является
O-большим (соответственно
о-малым) от
при
» записывается с помощью равенства
- (соответственно )
Это обозначение очень удобно, но не вполне правильно, оно является своего рода математическим
слэнгом и в учебниках его стараются избегать.
Дело в том что оно нарушает свойства равенства, например, можно писать
- или
но выражения
- и
не имеют никакого смысла.
Также,
- при ,
но
- при .
Вместо знака равенства правильнее употреблять знаки принадлежности и включения,
- и
понимая под
или
множество всех функций являющимися
O-большим или о-малым от при .
Свойства
- o(f ) ∈ O(f )
- O(f ) + O(f ) ∈ O(f )
- o(f ) + o(f ) ∈ o(f )
- O(f ) O(g ) ∈ O(fg )
- o(f ) o(g ) ∈ o(fg )
- O(O(f )) ∈ O(f )
- o(o(f )), o(O(f )), O(o(f ))∈ o(f )
Примеры использования
- при
- при
Математические обозначения | Математический анализ
O-Notation | Big O notation | Cota superior asintótica | 대문자 O 표기법 | Notacja dużego O | Ordo | สัญกรณ์โอใหญ่ | 大O符号