LEARN
アルゴリズムの動く図鑑
ソートや探索が動く様子を目で追える図鑑。速さの違いをレースで体感。
使い方上のタブで3つの図鑑を切り替えられます。「ソートレース」は複数のソートアルゴリズムを同時に走らせて速さを比べ、「二分探索 vs 線形探索」は探し方の違いを、「経路探索(迷路)」は幅優先探索が最短経路を見つける様子を、それぞれアニメーションで確認できます。
同じ並びの棒を、選んだアルゴリズムがそれぞれ独立に並べ替えます。比較・入替の回数を数えているので、「速い・遅い」が感覚だけでなく数字で見えます。
設定
要素数
レーン数
速さ
50ms/手
比較回数
0入替回数
0比較回数
0入替回数
0よくある質問
O記法とは何ですか?
データ数が増えたときに処理時間がどれくらい増えるかを表す書き方です。例えば O(n) は要素数に比例して時間が増える(線形探索など)、O(n²) は要素数の2乗で増える(バブルソートなど)、O(n log n) はその中間で多くの実用的なソートが持つ性質です。数が少ないうちは差が小さくても、要素数が増えるほど差は劇的に開いていきます。
クイックソートはなぜ速いのですか?
基準値(ピボット)を1つ決め、それより小さいグループと大きいグループに分けてから、それぞれを再帰的に同じ手順で並べ替えるためです。平均的には毎回ほぼ半分に分割できるため、比較回数の合計が O(n log n) 程度に収まり、全体を総当たりで比較する O(n²) のアルゴリズムより速く仕上がります。ただし分割が偏る運の悪いケースでは遅くなることもあります。
幅優先探索(BFS)が必ず最短経路を見つけられるのはなぜですか?
BFSはスタートから「1歩で行けるマス」「2歩で行けるマス」…と、距離が近い順に波のように広げながら探索するためです。ゴールに最初に到達した瞬間が必ず最小の歩数であり、それより歩数の少ない経路が後から見つかることはありません。壁があっても、通れるマスの中で常に最短の歩数から順番に確定していく仕組みです。