Подводя итог: C раз g в конечном итоге доминирует f.
1 & 2.
Пусть f - функция от N до положительных вещественных чисел.(Думайте о f (n) как о времени выполнения для аргумента размера n. Это может быть наихудший случай или средний случай.) Пусть g - еще одна такая функция.
ОК: f и g - функции от натуральных чисел (N) до положительных вещественных чисел.Почему из натуральных чисел?Мы предполагаем, что размер аргумента - это то, что мы можем точно указать.Натуральное число - это то, что мы можем точно указать.Реального числа нет.Почему положительные отзывы?Мы предполагаем, что время выполнения не обязательно является чем-то, что мы можем точно указать.
Но здесь важно не то, что говорится, а то, что говорится , а не .Никто не сказал, что f является монотонно возрастающим, или что g является полиномом, или что-то еще.Все, что мы знаем, это то, что f и g являются функциями .Это почти все, что нужно сделать.Да, они отображают натуральные и положительные реалы, но это довольно небольшое ограничение.Итак, суть в том, что есть много, много функций f и g на выбор.Единственное несколько важное ограничение состоит в том, что вещественных чисел намного больше, чем натуральных.
3.
Мы говорим, что f ∈ O (g), когда существует некоторое натуральное число M и константамножитель C такой, что для всех n> M имеем f (n) <= C × g (n).В логических символах: ∃M.∃C.∀n> M. f (n) <= C × g (n) </p>
M и C являются константами.Мы выбираем М и С, и мы сделали.Важным моментом здесь является то, что в имеется по крайней мере один M и по крайней мере один C , который удовлетворяет предложению.Не: любой M или любой C. Утверждение состоит в том, что существует как минимум один таких M и C.
n наС другой стороны, не является константой.Мы можем выбрать n как любое число, если оно больше, чем M. В заявлении говорится, что для любого выбора n (больше, чем M) можно найти хотя бы одно значение C, так чтоесли вы умножите g (n) на C, этот продукт будет больше, чем f (n).Не имеет значения , что такое n, если оно больше, чем M.
Причина, по которой мы учитываем константы M и C, становится ясной, когда мы предполагаем, что одно из ограничений было снято.Предположим, что утверждение ничего не говорит о M:
Мы говорим, что f ∈ O '(g), когда существует некоторый постоянный фактор C, такой, что для всех n имеем f (n) <= C× г (н).В логических символах: ∃C.Fnf (n) <= C × g (n) </p>
Теперь это говорит: рассмотрим пространство всех возможных выходов f и всех возможных выходов g.Если мы «расширим» пространство выходов g константой C, каждый из них будет больше, чем любая из точек в f.Теперь это более сильное утверждение, чем когда мы указали M. Что если f (0) = 10 и g (0) = 0?Теперь может быть нет C, что составляет Cg(0) > Cf(0)
.Итак, М «обрезает» эти плохие грани.
На этой странице также есть отличное объяснение и наглядность: https://xlinux.nist.gov/dads/HTML/bigOnotation.html