MENU

blog
スタッフブログ

dot
ソートを可視化するプログラムをAIに書いてもらった
技術

ソートを可視化するプログラムをAIに書いてもらった

こんにちは、ソリューションSecの長谷川です。
大学で情報系のことを学んでいたときには、ソートの種類についていろいろ学んでいたのですが
そういえば、普段はソートの種類を意識することはないなと、ふと思いました。

だいたいのプログラミング言語やフレームワークには
標準で最適化されたソート関数が用意されていますし
一から実装するには時間もかかることと、自作よりも不具合が少なく安全など
理由としてはいろいろあると思います。

ただ、実際どのようにソートされているのか?ということは
きちんと知っておかなくても、あまり影響はないのですが
なんとなく、その動きを可視化してみたいと思いました。
(探せばいくらでも出てくるのですが・・・)

とはいっても、他のを紹介して「ハイ終わり」というわけにもいかないので
以前「最新のClaudeでゲームが作れるというので試してみた」のときに利用した
Claudeを使って、可視化するプログラムを生成してみたいと思います。

Claudeでコードを生成する

さて、Claudeは優秀なので、あまり複雑な指示をしなくても
ある程度しっかりしたコードを生成してくれます。

ということで、今回は以下の指示を出しました。

「JSでBubble sortなど有名なソートを可視化するプログラムを書いてください。」

ガリガリとコード生成が始まり、ものの数十秒程度で結果が生成されました。
それがこちらです。
ソートアルゴリズムの選択肢の文字色が白色なので見にくいなどはありますが
一発で生成されるコードとしては相変わらず素晴らしいクオリティです。

ハードディスクのデフラグなんかもそうですが
なんとなくこういうのを見ているが楽しいなと思うのは
私がシミュレーションゲームなどが好きだからでしょうか?

調べてみるといっぱい可視化されているよ

最初に書きましたが、「ソートアルゴリズムの可視化」というのは
いろんな人がやっています。

「ソートアルゴリズム 一覧」なんかで検索すると
有名どころのソートの種類の具体的な解説と可視化された下記の記事が出てきます。

【Unity】ソートアルゴリズム12種を可視化してみた

はい、Claudeで書かせてみたよっていうことを除けば
私のこの記事の意味は何もないですね(笑)

Claudeで生成されたコードには出てきませんでしたが
バケットソートなんかは数字だけのソートでかつ量もそこまで多くないなら、めちゃくちゃ早そうです。

さいごに

私も大学では、バブルソートやクイックソートなど
本当に代表的なソートしか学んでいないので、こんなアルゴリズムもあったんだという発見がありました。

ただ、何よりもすごいなと思ったのは
こういうアルゴリズムを最初に考えた人たちですね。

普段私たちは、フレームワークなどを使うことによって
何もかも一からではなく、用意された便利なものを使ってプログラムを作りますが
こういった環境を用意してくれた先人達には感謝しかありません。

それでは、今回はこのへんで。

dot
dot
PAGETOP