// アル楽 — Algorithm Visualizer

アルゴリズムは、
動きで分かる。

ソート・探索・再帰の古典アルゴリズムを、1手ずつアニメーションで再生。 比較はオレンジ、交換は緑。棒がどう入れ替わり、迷路がどう広がり、円盤がどう移るのか。 コードを読む前に、まず目で見て「なぜ速いのか」をつかめます。

v2.0 ソート6 / 探索4 / 再帰4 無料 日本語 / English 情報処理技術者試験の学習に

アル楽のレース画面。4つのソートが同じ配列を同時に並べ替えている

$ レースモード — SORT RACE

同じ配列を2〜4種のソートに同時に解かせ、ゴール順と比較・交換回数を並べて見比べる。O(n²) と O(n log n) の差が、数字より先に目に入ります。

  1. 01選ぶ。バブル・選択・挿入・マージ・クイック・ヒープから2〜4種。
  2. 02配列を決める。ランダム / ほぼ整列 / 完全逆順 / 重複多め。要素数も変えられます。
  3. 03スタート。全レーンが同じ初期配列から一斉に動き出し、比較・交換の回数がリアルタイムで増えていく。
  4. 04結果を見る。ゴール順と回数を一覧で。「ほぼ整列」なら挿入ソートが強い、など条件で順位が入れ替わるのも発見です。
  aruraku race — 例
$ aruraku race quick merge insertion bubble \
    --pattern random
lane        order       status
quick       O(n log n)  ✓ 1st
merge       O(n log n)  ✓ 2nd
insertion   O(n²)       running…
bubble      O(n²)       running…

$ aruraku race insertion quick \
    --pattern nearly-sorted
insertion   O(n²)       ✓ 1st  # ほぼ整列なら速い
quick       O(n log n)  ✓ 2nd

$ 主な機能 — FEATURES

読むのではなく、動かして見る。止めて、1手進めて、条件を変えて、もう一度。

SORT

ソート6種の可視化

棒グラフが並べ替わる様子を1手ずつ再生。比較・交換の回数と進行率を常に表示し、ピボットや確定済みの要素も色で区別します。

SEARCH

迷路で経路探索

BFS・DFS・ダイクストラ法・A* がグリッド迷路を探索。BFS は波紋のように均等に広がり、A* はゴールの方向へ偏って進む違いが一目で分かります。壁はタップで編集、新しい迷路も生成。

RECURSION

ハノイの塔とフラクタル

円盤3〜8枚のハノイの塔で、最小手数 2ⁿ−1 を実際に追う。コッホ曲線・シェルピンスキー三角形・再帰木は深さを変えて自己相似を確かめられます。

STEP

速度調整とステップ実行

速度スライダーでゆっくり、一時停止して「1手」ずつ前へ。どの瞬間に何が比較され、何が入れ替わったのかをじっくり追えます。

INFO

アルゴリズムごとの解説

ⓘ ボタンで仕組み・計算量・現実での使われ方・長所と短所を確認。動きと説明を行き来しながら理解を固められます。

ADS

再生中は広告を出さない

アニメーションの画面には広告を一切置きません。バナーはメニュー画面の下部だけ、全画面広告は分野の切り替え時などの節目だけ。全学習機能は無料で使えます。

$ legend

通常 比較 交換 ピボット ソート済み

$ 収録アルゴリズム — ALGORITHMS

基本情報技術者試験などで問われる定番を中心に収録しています。

分野アルゴリズム計算量(平均)見どころ
ソートバブルソートO(n²)隣同士の比較と交換。大きい値が右端へ浮かんでいく
ソート選択ソートO(n²)残りから最小を探して先頭へ。交換回数が少ない
ソート挿入ソートO(n²)ほぼ整列済みの配列では非常に速い
ソートマージソートO(n log n)分割して、併合しながら並べる。安定ソート
ソートクイックソートO(n log n)ピボットを基準に左右へ振り分ける
ソートヒープソートO(n log n)ヒープを作り、最大値を末尾へ確定させていく
探索幅優先探索 (BFS)O(V+E)同心円状に均等に広がり、最短経路を保証
探索深さ優先探索 (DFS)O(V+E)行けるところまで突き進み、行き止まりで戻る
探索ダイクストラ法O(E log V)コストの小さい順に確定させて最短経路を求める
探索A*—ヒューリスティックでゴール方向を優先して探す
再帰ハノイの塔O(2ⁿ)円盤 n 枚の最小手数は 2ⁿ−1
再帰コッホ曲線 / シェルピンスキー三角形 / 再帰木—深さを上げるごとに同じ形が入れ子になる

$ こんな方に — FOR

studentsプログラミングを学び始めた学生・初学者
exam基本情報技術者試験などの試験対策に
engineers計算量の感覚を磨き直したいエンジニア
curious動くものを眺めるのが好きな方

$ スクリーンショット — GALLERY