Задача в книге Кормена "Алгоритмы. Построение и анализ"

Рейтинг: 1Ответов: 1Опубликовано: 29.04.2023

объясните, пожалуйста, как решить эту задачку:введите сюда описание изображения

В книге вот такое определение:

введите сюда описание изображения

Т.е. я должен доказать, что, например, в первом случае [lgn]! = O(n^k), правильно? Подскажите, с чего начать. Хочу разобраться.

Ответы

▲ 2Принят

Функция Ceil(logn) (а у вас указаны именно такие скобки с округлением вверх) имеет ограничение Theta(logn), поскольку оно не превосходит значения logn+1, и (logn+1)/logn==>C (стремится к единице, константе). Для строгого доказательства таких моментов, думаю, будет много, но заниматься ими не хочется. Благодаря Theta будем использовать просто f(n)=(log(n))!

Нужно показать, как сравнивается f(n) ? O(n^k). Со степенной функцией сравнивать трудно, возьмем от обеих сторон логарифмы, и нужно показать сравнение log(f(n)) ? k*log(n)

По формуле Стирлинга log((log(n))!) = Theta(logn*loglogn). Сравниваем с логарифмом степенной функции

 logn*loglogn  ??  k*logn   //делим на logn
 loglogn  ??    k

Но k - константа, а слева - бесконечно (хоть и медленно) растущая функция, её рост описывается как омега_малое(n). Таким образом,

logn*loglogn = w(n)*logn

и f(n)=(log(n))! === w(n) * Theta(n^k) > O(n^k), т.е. не является полиномиально ограниченной