O
дает верхняя граница ;
Ω
дает нижнюю оценку ;
Θ
дает асимптотическую оценку ;
В Википедии есть хорошая диаграмма, объясняющая это.
Следовательно, в общем они действительно несопоставимы.
Для вашего первого случая
O(n^2) + Θ(n) + Ω(n^3)
Давайте сначала займемся O
.Первый член говорит нам O(n^2)
, а второй член говорит нам O(n)
.Основываясь только на этих двух, мы знаем, что у нас есть O(n^2)
для верхней границы.Тем не менее, третий термин ничего не говорит нам о верхней границе!Таким образом, мы действительно не можем сделать вывод о O
.
Суть в том, что O
и Θ
дают вам информацию только о O
, а Ω
и Θ
дают вам информацию оΩ
только.Это потому, что Θ(g(n))
подразумевает как O(g(n))
, так и Ω(g(n))
, поэтому мы можем изменить Θ
на любой из O
и Ω
, подходящий для данного анализа.
Однако тривместе или даже просто O
и Ω
, оставляя вас в неведении, поскольку ни O
, ни Ω
не подразумевают ничего другого.