Menu
Coddy logo textTech

Time and Space Complexity

Coddyの「カウンティングソート - DSAシリーズ」コースのレッスン 7/9。

時間計算量:

  • O(n + k)
    • ここで n は要素数、k は値の範囲 (max + 1) です。カウントするために1回、再構築するためにカウント配列を1回走査します。
  • k が小さく固定されている場合、これは実質的に O(n) となり、比較ソートの O(n log n) よりも高速です。

空間計算量:

  • O(n + k)
    • カウント配列は O(k) を使用し、出力は O(n) を使用します。

まとめ:

  • 計数ソート(Counting Sort)は、安定した非比較ソートであり、小さな整数の範囲に対して線形時間で実行されます。
  • 値の範囲 k が非常に大きい場合、カウント配列が巨大になるため、適していません。このバージョンでは非負の整数を想定しています。

自分で試してみよう

このレッスンにはコードチャレンジは含まれていません。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

カウンティングソート - DSAシリーズのすべてのレッスン