(log n) ^ k = O (n)?
Да. Определение big-Oh состоит в том, что функция f
находится в O (g (n)), если существуют положительные константы N и c, такие что для всех n > N
: f(n) <= c*g(n)
. В этом случае f(n)
равно (log n)^k
и g(n)
равно n
, поэтому, если мы вставим это в определение, мы получим: «существуют константы N и c, такие что для всех n > N
: (log n)^k <= c*n
» , Это верно, поэтому (log n)^k
в O (n).
как может функция f (x) иметь сложность во время выполнения
Это не так. Ничто в нотации big-Oh не относится к сложности времени выполнения. Big-Oh - это обозначение для классификации роста функций. Часто функции, о которых мы говорим, измеряют время выполнения определенных алгоритмов, но мы можем использовать big-Oh, чтобы говорить о произвольных функциях.