歯切れが悪いのですが、読み終えたということにします。理由は後述します。本書とそれに付随する形で調べた数学とかアルゴリズム関連の記事は次のとおりです。

上記はあくまで本を読んだうえで私が自分なりにまとめたものであって、本自体には上記で記載していること以上のことが記載されて(逆に本に記載されていないものも)います。そもそも上記の記事はものによっては誤っている箇所があるかもしれません。また、9~11章の内容は記事にしていません。

読みお…えた


という歯切れの悪いタイトルにした理由です。

  • 9章の動的計画法をちゃんと読んでない(←これは記事にしてないです)
  • 11章のその他のアルゴリズムの説明をちゃんと読んでない(←これも記事にしてないです)
  • 各章の問題を解いてない

からです。あと、10章のk近傍法も記事にしてません。これらは時間との兼ね合いとか、そういう大人の事情的なのとかでやってないです。こういうの、あかんのでしょうなぁ…。

感想


さて、本題の感想です。

数あるアルゴリズムの中である程度抜粋されているのは良かったと思います。この本の最も良い点はそこだと思います。多ければ先が見えずつらいですが、本書では各章一つくらいで10個くらいにおさまっていたのは良かったと思いました。次に絵が可愛いですね。

逆に、順番に淡々とこなすことができる人であれはAOJ(Aizu online judge)あたりでやった方がいいんじゃないかと思いました。私は一応、次はこれをやる予定です。また、10章の動的計画法の解説のコードがほとんどないのは残念でした。

また、本とは関係ない感想になりますが、今回は途中からScalaでチャレンジしていました。私自身は業務でScalaを書いているわけではないので非常に勉強になりました。新しい言語を学ぶときにアルゴリズムを解いてみるというのはかなり有効なのではないかと。あと、これはもう個人の脳ミソのレベルの問題だと思うのですが、最初の方にやった内容をもう覚えてないです…orz

今後について


別の本を一冊買っているので、そちらで一日一問こなすような方向にしていきたいと思いました。