アルゴリズムと計算量の問題
ある分割統治アルゴリズムは、大きさ の入力を大きさ の 3 つの部分問題に分けて再帰的に解き、分割と統合に の手間をかける。その計算時間 は、0 以上の整数 に対して のとき
を満たすとする。0 以上の整数 に対して、 を の式で表せ。
この問題で使うもの
- 分割統治の漸化式の厳密な解(説明と入口の問題)
- 置き換えによる漸化式の解法(説明と入口の問題)
- 等差・等比数列の和と Σ(説明と入口の問題)
この問題を解けるようになるまで(20 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
とおいて、 の漸化式に書き直してみよう。
ヒント 2
の両辺を で割ると、 の階差が等比数列になる。
ヒント 3
とおくと となる。この等比数列の和を計算して を掛ければよい。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
とおくと、漸化式は
となる。
両辺を で割ると
であるから、 とおくと , である。よって
したがって
確認: で 、 で と 、 で と が一致する。
補足: とすると なので である。マスター定理で , , とすると で、 より ()が成り立つので となり、上の厳密解と合っている。
答え:
別解
とおくと、、 で 。両辺を で割り とおくと、、。よって 。したがって 。検算: で 。 で 。 で 。いずれも一致する。