5

置換法を使用して再発を解決しようとしています。漸化式は次のとおりです。

T(n)= 4T(n / 2)+ n 2

私の推測では、T(n)はΘ(nlogn)であり(マスター定理のためにそれについて確信しています)、上限を見つけるために、誘導を使用します。T(n)<= cn 2 lognであることを示しようとしましたが、機能しませんでした。

T(n)<= cn 2 logn +n2取得しました。次に、T(n)<= c 1 n 2 logn-c 2 n 2の場合、それもO(n 2 logn)であることを示しようとしましたが、それも機能せず、T(n)を取得しました。 <= c 1 n 2 log(n / 2)-c 2 n 2 + n2` 。

この再発をどのように解決できますか?

4

2 に答える 2

13
T(n) = 4T(n/2) + n 2 
     = n 2 + 4[4T(n/4) + n²/4]
     = 2n 2 + 16T(n/4)
     = ...
     = k⋅n 2 + 4 k T(n/2 k )
     = ...

に達するとプロセスは停止します。 ⇒ ⇒2kn
k = log2n
T(n) = O(n2logn)

于 2013-03-03T12:48:41.383 に答える
5

再帰呼び出しの図

非再帰的な形式で方程式を書き換えることができます

T(n) の非再帰形式

再帰方程式は非常に単純です。T(n/2) を展開するたびに、新しい項が 1 つだけ表示されます。したがって、非再帰形式では、二次項の合計が得られます。A(n) が であることを示せばよいだけですlog(n)(簡単な演習として残します)。

于 2013-03-03T12:49:55.963 に答える