どうも、たくチャレ(@takuchalle)です。

最近競技プログラミングを始めてみましたが、自分の実力の無さを否が応でも突きつけられて辛い気持ちになったのでちゃんと勉強することにしました。 大学の時にアルゴリズムとデータ構造の受けたはずなのに真面目にやってこなかったことが今更になって重くのしかかってきますね。

そんなタイミングでツイッターで 「問題解決力を鍛える!アルゴリズムとデータ構造」という本が発売されることを知りました。著者のけんちょんさんをフォローしていたこともあり早速購入して読んでみました。

全てではないですが、写経しながら作業をすすめていって、GitHubにコードをプッシュしてあります。 疲れてきたので、16章以降は流し読みしました。

感想

全体的に丁寧に説明されていて、非常にわかりやすかったです。アルゴリズムを勉強したいと思っている人にはかなりおすすめできます。大学の時に出会いたかったと心から思う本でした。

半分くらいは知ってる内容で良い復習になりましたし、木以外のグラフは今まで扱ったことがなかったので良い勉強になりました。

あとは、動的計画法の理解がふんわりしていたので、そこの理解が深められたことは非常に良かったです。

頭では理解したので、あとは実践でパッと思いつくかの勝負になると思うので、AtCoder の過去問や LeetCode を解いて特訓していきます。

アルゴリズムの証明やオーダーの導出のところで数学が当然必要になりますが、 数学が相変わらず弱いということも再確認したので、数学もどこかのタイミングでしっかり学びなおしたいです。

一つ不満があるとすれば、章末問題の解答がないことですね。解いても正解が分からないので章末問題を解くのはやめました。演習として代わりにAtcoderの問題を解くことにしました。

とはいえ、ものすごい良書であることは間違いないので、アルゴリズムを勉強したい人必携の本になってると思います。