CLRSからこの問題を試しました(ページ39、2.3-4)
挿入ソートは次のように再帰的な手続きとして表現できます。ソートする
A[1... n]
には、再帰的にソートしてA[1... n-1]
からA[n]
、ソートされた配列に挿入しA[1... n-1]
ます。この再帰バージョンの挿入ソートの実行時間の再帰を記述します。
私が形成した再発は
私の推論
- の基本ケースでは、リストはソートされるため、作業は発生せず、時間が一定になります。
- 他のすべてのケースでは、時間はシーケンスのソートとそのシーケンス
A[1...n-1]
への挿入に依存します。したがって、それはそれらの合計、すなわちます。
再発関係が正しいか知りたい。そうでない場合、間違いは何ですか?どのようにして再発関係を正しく定式化するのですか?
1
あなたは私たちの参照質問に興味があるかもしれません。特に、「実行時」の概念はあいまいであり、 -termsによる再帰は物事を置く最も良い方法ではありません。また、再帰を解決するためのいくつかの種類が議論されてきました。ここでは、「はい」または「いいえ」の質問は一般的に望ましくないことに注意してください。(質問が古いことに注意してください。コメントは参照用に残しています。)
—
ラファエル