Решение T (n) = 9T (n / 10) + log ^ 3 n? - PullRequest
2 голосов
/ 01 июня 2019

У меня рецидив

T (n) = 9T (n / 10) + log 3 n

и япытаясь найти его сложность.

После i-замен я вижу, что

T (i) = 9T (n / 10 i + 1 ) + log 3 (n / 10 i ).

Однако я не знаю, как продолжить.Как мне решить это повторение?

Ответы [ 2 ]

3 голосов
/ 02 июня 2019

Техника, которая иногда полезна для решения подобных повторений, состоит в том, чтобы и верхнюю, и нижнюю границу повторения с двумя более простыми повторениями и посмотреть, что вы найдете.

Например, обратите внимание, что ваше повторение

T (n) = 9T (n / 10) + log 3 n

ограничено снизу повторением

L (n) = 9L (n / 10) + 1.

Это повторение может быть непосредственно решено с помощью основной теоремы.Существует много различных формулировок основной теоремы, но моя любимая - та, которая решает повторения вида

T (n) = aT (n / b) + n d

для констант a, b и d.В этом случае мы имеем a = 9, b = 10 и d = 0, и, поскольку log b a> d, это означает, что рекуррентность разрешается в L (n) = Θ (n * журнал 1028 * 10 9 ).Это означает, что мы знаем, что ваше повторение составляет не менее Ω (n log 10 9 ).

Аналогично, обратите внимание, что ваше повторение ограничено сверху

U (n) = 9U (n / 10) + n ε

для любого фиксированного ε> 0, так как любой полиномиальный член доминирует над любой постоянной степеньюлогарифмического термина.Давайте представим, что ε очень, очень мало.Что говорит основная теорема в этом случае?Здесь имеем a = 9, b = 10 и d = ε.Предполагая, что ε действительно очень и очень мало, мы будем иметь этот log b a> ε, и поэтому рекуррентность решается как Θ (n log 10 9 ).

Это показывает, что ваше повторение приятно зажато между двумя другими повторениями: Ω (n log 10 9 ) и O (n log 10 9 ) соответственно, поэтому ваше повторение разрешается до Θ (n log 10 9 ) .

Подводя итог:

  • Если у вас есть рекурсия с добавленным необычным функциональным термином, вы можете иногда решить эту рекурсию, ограничивая ее верхней и нижней границей рекурсиями с более простыми аддитивными терминами.

  • Логарифмы ограничены снизу константами и ограничены сверху любым (положительным, постоянным) полиномом.

Надеюсь, это поможет!

0 голосов
/ 01 июня 2019

используйте мастер-метод для решения проблемы

Решает повторения вида T (n) = aT (n / b) + f (n).

Мастер-метод - это прямой способ получить решение. Основной метод работает только для повторений следующего типа или для повторений, которые можно преобразовать в следующий тип.

T (n) = aT (n / b) + f (n), где a> = 1 и b> 1 Есть три следующих случая: 1. Если f (n) = Θ (nc), где c

  1. Если f (n) = Θ (nc), где c = Logba, то T (n) = Θ (ncLog n)

3.Если f (n) = Θ (nc), где c> Logba, то T (n) = Θ (f (n))

.it используется для решения повторений в таких функциях, как T (n) = aT (n / b) + f (n), где a> = 1 и b> 1 такой же как твой

...