я только что прочитал в алгоритмической книге Кормена, что big-O и big-omega не следуют свойству трихотомии. Это означает, что для двух функций, f(n)
и g(n)
, возможно, ни f(n) = O(g(n))
, ни f(n) = Omega(g(n))
не имеет значения. В примере они утверждают, что если функция n^(1+sin n)
, то это возможно.
Хотя это и верно, но в реальном мире алгоритм может иметь время выполнения чего-то вроде sin n
. Так как иногда оно будет уменьшаться с увеличением входного размера. Кто-нибудь знает такой алгоритм или может дать небольшой фрагмент кода, который это делает.
Спасибо за ответы, так что в данном случае корректно предположить, что если задача P с размером n не может быть решена во времени O(f(n)) ни одним известным алгоритмом, то нижняя граница P - Omega(f(n)).