三次時間 O(n³) — 三重ネストループと行列操作

O(n³)三次時間計算量、行列乗算やグラフアルゴリズムで発生する場所、削減戦略について学びます。

Complexity Classes

詳細な説明

O(n³)三次時間とは?

アルゴリズムがO(n³)とは、実行する作業が入力サイズの三乗に比例することを意味します。

代表的なO(n³)アルゴリズム

ナイーブ行列乗算 — 2つのn×n行列を乗算する標準アルゴリズム。

Floyd-Warshallアルゴリズム — 重み付きグラフで全ペアの最短経路を求めます。

LU分解 — 行列を下三角行列と上三角行列に分解します。

より高速な代替手段

  • Strassenのアルゴリズム — 行列乗算をO(n²·⁸)に削減
  • Johnsonのアルゴリズム — スパースグラフでFloyd-Warshallより高速
  • GPUアクセラレーション — 並列化で実用的に対処

ユースケース

三次アルゴリズムは科学計算、グラフ理論、線形代数に現れます。O(n³)の理解は、最適化ライブラリ(BLASなど)や近似アルゴリズムへの切り替え判断に役立ちます。

試してみる — Big-O Reference

フルツールを開く