線形対数時間 O(n log n) — 最適ソートの境界

比較ベースのソートの理論的下界であるO(n log n)線形対数計算量を探求します。マージソート、クイックソート、ヒープソート、比較モデルの証明をカバー。

Complexity Classes

詳細な説明

O(n log n)線形対数時間とは?

**O(n log n)**は、アルゴリズムが約n × log₂(n)回の操作を行うことを意味します。線形よりはやや遅いですが、二次よりは劇的に高速です。

O(n log n)ソートアルゴリズム

アルゴリズム 最悪 平均 空間 安定?
マージソート O(n log n) O(n log n) O(n) Yes
クイックソート O(n²) O(n log n) O(log n) No
ヒープソート O(n log n) O(n log n) O(1) No
Tim sort O(n log n) O(n log n) O(n) Yes

実用的な影響

n = 1,000,000の場合:

  • O(n log n) ≈ 20,000,000操作
  • O(n²) = 1,000,000,000,000操作

50,000倍の差 — 適切なソートアルゴリズムの選択が非常に重要な理由です。

ユースケース

大規模データセットのソート、検索インデックスの構築、凸包の計算、マージコストが線形な分割統治処理の目標計算量です。

試してみる — Big-O Reference

フルツールを開く