Я только что прочитал в книге алгоритмов Кормена, что 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 является омега (f (n)).