計算量の世界へようこそ
プログラムの性能を示す「計算量」。このツールは、データが増えた時に処理時間がどう変化するかを、身近な例えとインタラクティブな可視化で解説します。O記法の感覚を掴んでみましょう。
O(1) コンスタントタイム
「データがどれだけ増えても、処理時間は変わらない」最も理想的な計算量です。本棚に本が何冊あろうと「一番左の本を取る」時間は常に同じです。
処理時間: ~1 ms
O(log N) ログタイム
「データが倍になっても、処理時間はほんの少ししか増えない」効率的な計算量です。辞書で単語を探す時のように、探す範囲を毎回半分に絞っていくイメージです。
辞書のページ数: 64
ステップ数: 0
O(N) リニアタイム
「データ量に比例して、処理時間も同じように増える」計算量です。本のページ数が2倍になれば、全部読む時間も2倍になります。
推定時間: 500 ms
O(N log N) と性能比較
`O(N log N)`は効率的なソートアルゴリズムでよく見られる計算量です。データが増えた時、各計算量の処理時間がどれほど劇的に変わるか、グラフで比較してみましょう。