再帰的アルゴリズムは、コンピュータサイエンスの基本的な概念です。 彼らはそれらをより小さく、同様のサブプロブレムに分解することによって、問題を解決します。 自分の時間の複雑さを理解することは、その効率性とパフォーマンスを評価するのに役立ちます。

時間の複雑さは何ですか。

アルゴリズムの実行時間が入力のサイズで増加する方法を時間複雑化します。アルゴリズムの増大率の上限の限界を説明するビッグオノテーションを使用して表現されます。

再帰的アルゴリズムの分析

再帰アルゴリズムは、多くの場合、小さな入力で同じ機能を呼び出すことによって問題の解決を含みます。 それらの時間の複雑さを分析するために、より小さなサブプロブレムに基づいて、総時間を表現する再発関係を理解することは不可欠です。

計算のための一般的な方法

再発関係を解決するために2つの第一次方法が使用されます:

  • 置換方法:]]溶液を推測し、誘導を介してそれを検証します。
  • 再帰ツリー法:] それぞれのレベルのコストを合計するツリーとしての再発を視覚化します。

例えば、再発T(n) = 2T(n/2) + nは分岐と征服アルゴリズムを記述します。この解決はO(nログn)の時間の複雑さを生じる。