Три випадки теоретики майстра, на які ви посилаєтесь, підтверджені у Вступі до алгоритмів Томасом Х. Корменом, Чарльзом Е. Лейерсоном, Рональдом Л. Рівестом та Кліффордом Штейн (2-е видання, 2001 р.).
Правильно помічено, що питання, про який йде мова, падає між випадком 2 та випадком 3. Тобто f( n ) = n журналун росте швидше н але повільніше, ніж н1 + ε для будь-якого ε > 0 .
Однак теорему можна узагальнити, щоб охопити цю повторюваність. Розглянемо
Випадок 2A:
Розглянемо f( n ) = Θ ( nжурналбажурналкбn ) для деякого k ≥ 0 .
Цей випадок зводиться до випадку 2, коли k = 0 . Інтуїтивно зрозуміло, що уздовж кожної гілки дерева повторень f( х ) додається Θ(logbn) разів. Ескіз більш формального доказу можна знайти нижче. Кінцевий результат такий
T(n)=Θ(nlogbalogk+1bn)
.
У Вступі до алгоритмів це твердження залишається як вправа.
Застосовуючи це твердження до рецидиву, про який йдеться, ми нарешті отримуємо
T(n)=Θ(n⋅log2n).
Більш детально про Теорему магістра можна знайти на чудовій сторінці (імхо) Вікіпедії .
Як @sdcvvc в коментарях вказує, що Справа 3 не застосовується тут, можна посилатися на правило L'Hospital, яке говорить про те, що
limx→cf(x)g(x)=limx→cf′(x)g′(x)
для будь-яких функцій і диференційованих в районі . Застосовуючи це до та можна показати, щоf(x)g(x)cf( n ) = n журналунг( n ) = n1 + εжурналn ∉ Θ ( n1 + ε) .
Ескіз доведення основної теореми для випадку 2A.
Це відтворення частин доказу з Введення в алгоритми з необхідними модифікаціями .
Спочатку ми доводимо наступну лему.
Лема А:
Розглянемо функцію
г( n ) = ∑j = 0журналбn - 1аjгод ( н / бj)
деТоді
h ( n ) = nжурналбажурналкбн .г( n ) = nжурналбажурналk + 1бн .
Доведення:
Замінивши у вираз можна отримати
h ( n )г( n )г( n ) = nжурналбажурналкбн∑j = 0журналбn - 1( aбжурналба)j= nжурналбажурналk + 1бн .
QED
Якщо - точна сила задана рецидивомнб
Т( n ) = a T( н / б ) + f( n ) ,Т( 1 ) = Θ ( 1 )
можна переписати його як
Т( n ) = Θ ( nжурналба) + ∑j = 0журналбn - 1аjf( н / бj) .
Підставивши на , перемістивши назовні та застосувавши лему A, отримаємоf( n )Θ ( nжурналбажурналкбn)Θ
T(n)=Θ(nlogbalogk+1bn).
Узагальнення цього довільного цілого числа яке не є силою , виходить за межі цього поста.nb