新しい問題のアルゴリズムを構築しようとするとき、分割再帰(再帰を使用)は、最初に試行するアプローチの1つです。しかし、場合によっては、入力が増えるにつれて問題がはるかに複雑になるため、このアプローチは効果がないように見えます。
私の質問は、分割統治法のアプローチでは解決できないことを証明できる問題はありますか?次の行では、これをより正式なものにしようとしています。
LET、その入力の大き有する特定の問題である(例えば、入力の配列受け付ける問題番号)。を解くための再帰アルゴリズムがあるとします。そのアルゴリズムの再帰的な実行時間は、一定時間内にすべてのについてを解くことができるオラクルを想定して計算されます。例えば:n n P (n )P (k )k < n
- 比較と2つの再帰呼び出しのみを使用するため、バイナリ検索の再帰ランタイムはです。
- 配列の最大要素は、再帰時間ます。
- マージソートの再帰ランタイムは、マージステップのためです。
再帰時間は通常、実際の実行時間よりも短く、これは、再帰アルゴリズムが同じ問題に対する単純な非再帰的解決策よりも単純であるという事実を反映しています。
今私の質問は:
時間で解決できる問題はありますが、再帰的なランタイムが漸近的によりも小さい再帰的なアルゴリズムはありませんか?f (n )
この質問のいくつかの特定の変形は次のとおりです。
- 再帰ランタイムアルゴリズムがない問題はありますか?(たぶん仕分け?)O (1 )
- 多項式再帰ランタイムのアルゴリズムがない指数アルゴリズムに問題がありますか?
編集:私の推測とは逆に、ソートには再帰ランタイムアルゴリズムがあります P O (1 )。したがって、再帰的な実行時アルゴリズムがない問題があるかどうかにかかわらず、それはまだ開いています。