46
33

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

関数型アルゴリズムとデータ構造をElmでたのしく学ぼう!

Posted at

こんにちは!皆さんはアルゴリズムとデータ構造はお好きですか?私は好きになりたいのになれないタイプの人間です・・・。手続き型でアルゴリズムを組んでいると頭がこんがらがりますし競技プログラミングの問題は少し難しくて、ストイックではない自分には厳しい世界です(もちろんハマれる方はどっぷりハマれて、とても楽しそうに見えます!)。

そこで私はElmのチカラを借りてエディタ(ビューワ)を作り可視化することで、たのしくアルゴリズムとデータ構造を学ぶことにしました!今回のテーマは二分探索木」。エディタづくりに入る前はTDDでたのしくテストコードを書いたりもしていました。ちょっと工夫した点は、SearchInsert時にどのようなステップを踏んだかをアニメーションで可視化したり、乱数でツリーを作るということをしてます。以下のリンクで公開しているので是非楽しんでみてください。

binary-tree.gif

今回のソースコードはこちらになります。

是非参考にしてElmでアルゴリズムライフを楽しんでみてください。デザインやアルゴリズム改善のPRも楽しみに待ってます。これからもいろんなデータ構造を可視化していきたいですね!

46
33
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
46
33

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?