プログラミングでよく使うソートですが、アルゴリズムは多種多様に存在します。どれがベストという訳ではなく、データの種類やばらつきによって異なるようです。しかし実際にどういった動きをしているのかは外からでは分かりづらいでしょう。 そこで使ってみたいのがsorting.jsです。各種ソートアルゴリズムをビジュアル化してくれるソフトウェアです。

sorting.jsの使い方

バラバラなデータがあります。

最終的に綺麗に並ぶのはどのアルゴリズムでも変わりません。

バブルソートの場合。結構遅いです。

クイックソート。速いです。

ヒープソート。最初のデータの並び方によっても動きが変わります。

sorting.jsでは10種類のソートアルゴリズムを試すことができます。中にはあまり効率的でないものもあります。そうした面も含めてソートアルゴリズムは多様であり、自作することでこれまでにない効率的なアルゴリズムも作れるようになります。プログラミングの勉強に自作しても面白そうです。

sorting.jsはJavaScript製のオープンソース・ソフトウェア(MIT License)です。

sorting.js jcjohnson/sorting.js: Visualize sorting algorithms in Javascript