サイエンス

数あるソートアルゴリズムをビジュアル化し堪能できるサービス「SORTING」


大小の関係が決められたデータを小さい順や大きい順に並び替える作業はソートと呼ばれ、コンピュータには欠かせないプログラムです。そのため、ソートをより早く・確実に・効率良く実行できるように、さまざまなアルゴリズムが考案されてきました。そんなコンピュータの発展にかかせない役割を果たしてきたソートアルゴリズムをビジュアル化することで直感的に理解できるのが「SORTING」です。

SORTING
http://sorting.at/


これがSORTINGのサイトページです。ソートアルゴリズムを選択してページ下の「PLAY」ボタンをクリックすると、そのソートアルゴリズムを使ってボールが並び替えられます。


たとえばアルゴリズム「クイックソート」でランダムに並んだ状態の大きさの異なるボールを左から小さいもの順に並び替えるとこんな感じです。


選べるソートアルゴリズムは、クイックソート・ヒープソートスムースソートシェルソートマージソートサイクルソート選択ソート挿入ソートノームソートコムソートバブルソートシェーカーソート奇遇転置ソート基数ソートとなっています。

実際にソートアルゴリズムを動かしてみます。まず、ページ左の「ADD NEW ALGORITHM」をクリック。


次にソートアルゴリズムを選択します。今回は、「SMOOTH SORT(スムースソート)」をクリック。


COLOR(ボールの色)→SIZE(ボールの数)→INITIAL CONDITION(初期状態)を順番に選んでいきます。今回は、ピンク色→10個→Reversed(正反対)を選択しました。最後に「VISUALIZE ALGORITHM」をクリックすればアルゴリズムの設定が完了です。


アルゴリズムが追加されたのを確認してから下の「PLAY」ボタンをクリックすれば並び替えがスタートします。


今回選んだ条件だとこんな感じ。


また、複数のアルゴリズムを同時に動かして比べることもできます。速度は遅いが安定な「バブルソート」と爆速で有名な「クイックソート」を比較した様子は、下の写真をクリックすれば確認できます。


アルゴリズムの内容を文章で学ぼうとしてもなかなか理解しにくいものですが、SORTINGを使えばアルゴリズムの特徴を直感的に理解できそうです。

・関連記事
コンピュータを進化させてきた偉大なるアルゴリズムまとめ - GIGAZINE

物理モデルのガンダムを遺伝的アルゴリズムで歩かせたムービーがすごい - GIGAZINE

ウイルスを見えるようにビジュアル化したCG - GIGAZINE

地球の地表温度が1900年からどれくらい変化したかをビジュアルで表す「Global Land Temperatures」 - GIGAZINE

ロータリー・4ストローク・蒸気機関など21種類のエンジンのGIFアニメーションが見られる「Animated Engines」 - GIGAZINE

ドットの粒々感を軽減するアルゴリズムを簡単に比較できる「Depixelizing Pixel Art」 - GIGAZINE

WindowsのパスワードはGPUを25個使えば約6分から6時間で突破が可能、毎秒3500億通りもの総当たりが可能な方法とは? - GIGAZINE

in ネットサービス,   サイエンス,   アート, Posted by logv_to