logo

すべての並べ替えアルゴリズムの時間計算量

アルゴリズムの効率は、次の 2 つのパラメータによって決まります。

  1. 時間計算量
  2. 空間の複雑さ

時間計算量:

時間複雑さは、かかった合計時間ではなく、特定の命令セットが実行される回数として定義されます。所要時間の合計は、使用するコンパイラー、プロセッサの速度などの外部要因にも依存するためです。



空間の複雑さ:

スペース複雑度は、プログラムの実行に必要なメモリ スペースの合計です。

どちらも入力サイズ(n)の関数として計算されます。ここで重要なことの 1 つは、これらのパラメーターにもかかわらず、アルゴリズムの効率は、 自然 そして のサイズ 入力。

時間計算量の種類:

  1. 最高の時間計算量: アルゴリズムにかかる時間が短い、または最小時間がかかる入力を定義します。最良の場合は、アルゴリズムの下限を計算します。例: 線形検索では、検索データが大きなデータの最初の位置に存在する場合、最良のケースが発生します。
  2. 平均時間計算量: 平均的なケースでは、すべてのランダムな入力を取得し、すべての入力の計算時間を計算します。
    次に、それを入力の合計数で割ります。
  3. 最悪の時間複雑さ: アルゴリズムに長時間または最大時間がかかる入力を定義します。最悪の場合、アルゴリズムの上限を計算します。例: 線形検索では、検索データが大きなデータの最後の位置に存在する場合、最悪のケースが発生します。

以下は、直前に参照できる簡単な改訂シートです。



アルゴリズム 時間計算量 空間の複雑さ
最高 平均 最悪 最悪
選択範囲の並べ替え の上2) の上2) の上2) ○(1)
バブルソート の上) の上2) の上2) ○(1)
挿入ソート の上) の上2) の上2) ○(1)
ヒープソート O(n log(n)) O(n log(n)) O(n log(n)) ○(1)
クイックソート O(n log(n)) O(n log(n)) の上2) の上)
マージソート O(n log(n)) O(n log(n)) O(n log(n)) の上)
バケットソート O(n +k) O(n +k) の上2) の上)
ソート基数 O(nk) O(nk) O(nk) O(n + k)
カウントソート O(n +k) O(n +k) O(n +k) 矢印)
シェルソート O(n log(n)) O(n log(n)) の上2) ○(1)
ティム・ソート の上) O(n log(n)) O(nlog(n)) の上)
ツリーソート O(n log(n)) O(n log(n)) の上2) の上)
キューブソート の上) O(n log(n)) O(n log(n)) の上)

また、以下も参照してください。

  • 記事の検索と並べ替え
  • 前年度の GATE 並べ替えに関する質問
  • 挿入ソートの時間と空間の複雑さ
  • 選択ソートの時間と空間の複雑さ
  • バブルソートの時間と空間の複雑さ
  • クイックソートの時間と空間の複雑さ
  • マージソートの時間と空間の複雑さ
  • 基数ソート アルゴリズムの時間と空間の複雑さ