Метод мастера, в каком случае? - PullRequest
1 голос
/ 12 августа 2010

Я смотрел несколько видео-лекций с сайта opencourseware MIT, и на третьем видео лекции лектор перебирает рекурсивное умножение матриц и сталкивается со сложностью времени:

T(n) = Θ(n<sup>3</sup>)

Для меня очевидно, что мне действительно нужно пересмотреть некоторую мою математику, но я действительно не вижу связи из этого ответа и какого-либо одного из случаев, упомянутых для метода основной теоремы. Я знаю, что рекурсивное отношение имеет вид:
T(n) = a*T(n/b) + f(n) для n> 1.
С этим рекурсивным отношением: a = 8, b = 2 и f(n) = Θ(n<sup>2</sup>).

Итак, как они получили Θ(n<sup>3</sup>)?

Он упомянул это log<sub>2</sub>8 = 3, что имеет смысл. Но я просто не могу понять, какому из трех случаев соответствует рекурсивное отношение в примере, используя значение f(n).

Так как, случай 2 - единственный, где f(n) = Θ(anything), тогда я предполагаю, что это все. Тем не менее, я предполагаю, что моя проблема связана со свойствами логарифмов или показателей.

Если f(n) = Θ(n<sup>log<sub>2</sub>8</sup> * (log<sub>2</sub>n)<sup>k+1</sup>), то как перейти от Θ(n<sup>3</sup>) для f(n) к Θ(n<sup>2</sup>) в случае 2? Чего мне здесь не хватает?

1 Ответ

1 голос
/ 12 августа 2010

Проверьте страницу Wiki по основной теореме .

Они обсуждают эту очень точную ситуацию (a = 8, b = 2, f (n) = O (n 2 )) при обсуждении случая 1. (не случая 2). Обратите внимание, что если f (n) = Θ (n 2 ), то f (n) = O (n 2 ), поэтому можно применить случай 1.

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

...