О нотации и о нотации
Если f(n) = Θ(g(n))
тогда я знаю f(n)
знак равно O(n)
а также f(n) = Ω(g(n))
, Тогда я бы сказал, что должны существовать c1 и c2 ≥ 0, n1 ≥ 0, для всех n > n1 существует c1*g(n) ≤ f(n) ≤ c2*g(n)
,
доказывать f(n) = c*g(n) + o(g(n))
для некоторого с> 0. Моя точка зрения f(n) ≤ c2*g(n)
==> у нас есть f(n) < c2*g(n) + c*g(n) ==> fn ≤ c2*g(n) < (c2 + c)*g(n)
, Следовательно, я хотел бы сказать, f(n) = c*g(n) + O(g(n))
является правильным для некоторого c > 0. Это правильно?
И могу ли я также сказать f(n) = cg(n) + o(g(n))
для какого с> 0?
1 ответ
f(n) = Θ(g(n))
тогда я знаюf(n) = O(n)
а такжеf(n) = Ω(g(n))
,
Ну, абсолютно нет. Смотри, когда f(n) = Θ(g(n))
это означает, что f(n)
это набор функций, которые асимптотически растут не быстрее, чем g
, когда g
является n^2
, f(n)
становится набором функций, которые растут не быстрее, чем n^2
который определенно не равен набору функций, которые растут не быстрее, чем n^2
, Это потому, что существует элемент, который находится во втором наборе и не является первым. Это h(n) = n^2
,
Quod Erat демонстрация