Sorting Symphony

アルゴリズムは何を歌うか — #417
アルゴリズムを選んで ▶ Play。5種を聴き比べるなら ▶ Play All
Bubble
O(n²) — 隣同士を交換
Insertion
O(n²) — 挿入位置を探す
Selection
O(n²) — 最小を選ぶ
Merge
O(n log n) — 分割統治
Quick
O(n log n) — ピボット分割
Bubble Sort
比較: 0 / 交換: 0

ソートの音を聴く

配列の各要素を音の高さに対応させ、ソートアルゴリズムがデータに触れるたびに音を鳴らす。 バブルソートは隣同士をひたすら比較するからゆっくりと音階を上り下りする。 クイックソートはピボットを基準に大きく跳躍するから飛び石のような旋律になる。 マージソートは分割統治だからパートが重なるオーケストラのように聞こえる。

同じ配列を異なるアルゴリズムでソートすると、まったく異なる音楽が生まれる。 計算量の違いは、音楽の長さの違いとして直接体験できる。

この作品について

コンセプト: ソートアルゴリズムの動作を「音楽」として体験する。同じデータに対する異なるアプローチが、異なる音楽を生むことを聴覚で理解する。

操作方法: アルゴリズムカードを選択 → Playで再生。Play Allで5種を連続再生して比較。Shuffleで配列を再シャッフル。速度・音色・音階をカスタマイズ可能。

技術: Web Audio API(OscillatorNode + GainNode)。Canvas 2Dで棒グラフ可視化。各ソートの内部ループごとにawaitで一時停止し、アクセスした要素の音を鳴らす。

#403との違い: #403はAmen Breakのドラムパターンをバブルソートで復元する作品。今回は音階マッピング×5種類のアルゴリズム比較で、ソートの「性格の違い」を聴き比べる。