【読書感想文】アルゴリズム図鑑のススメ

はじめに

こんにちは、SHOJIです。

本記事ではアルゴリズム図鑑を読んだ感想を書いていきたいと思います。

http://www.amazon.co.jp/dp/4798149772

更新が滞っている理由にも繋がるのですが、昨年子どもが生まれてアプリ開発の時間が全然取れず、空き時間は本を読むことが増えました。

結構色々読んだので読書録代わりに感想書いていきたいですね。

 

アルゴリズム図鑑ってどんな本?

名前の通り、アルゴリズムが色々載ってる本です。

アルゴリズムとは、何らかの目的を達成するための計算方法や手順のことです。

 

有名かつ分かりやすいもので言うとソート(並び替え)のアルゴリズムがありますね。

10個の数値を小さい順に並べたい場合、一つずつ全部比較しても最終的には並べ替えられますが、アルゴリズムによっては大きく計算量を抑えて並べ替えることができます。

 

アルゴリズム図鑑では、ソート、探索、暗号方式等のアルゴリズムが、分かりやすい図付きで解説されています。説明書きを読むと、26のアルゴリズム+7つのデータ構造とのことです。

結構多く載っていますが、スラスラ読める内容でしたので、読んでいて苦になることはありませんでした。

逆に一つ一つの記載が薄くて不十分ということもなく(これは求めるレベルにもよりますが……)。

 

目次と感想

目次

各章、何が書いてあるかは目次の通りです。

1章のデータ構造はプログラミングをしている方ならすでに知っている内容かなと思います。

2章のソートはプログラマなら誰もが知っておくべきアルゴリズムですが、意外に知らない方もいる内容なので(恥ずかしながら僕も曖昧でした)、自信のない方は本書を読んで抑えておくことをオススメします。世間的にソートアルゴリズムくらいは知ってて当然みたいな風潮がありますし……。いや、これは僕の気のせいかもしれませんが、ただ基本情報技術者試験でも出題されるので知っておくに越したことはないと思います。

個人的に面白かったのは4章と5章ですね。特に5章の暗号方式のアルゴリズムは、勉強しなければいけないと思いつつ敷居が高そうで敬遠していた内容だったので、概要レベルでも知ることができたのはありがたかったです。4章のグラフ探索はあまり使う機会はなさそうですが、読み物として面白かったです。機会があればこういうアルゴリズムを使うシステムに関わってみたいですね。

 

全編に言えるのですが、図が非常に分かりやすいです。カラーかつ手順ごとの変化が示されるので、アルゴリズムの勉強が初めてでも抵抗はないと思います。

これを読めば競技プログラミングで課せられるような課題を解けるかと言えばNOですが、その手前のこれからアルゴリズムの勉強を始めていきたい方にとっては役に立つはずです。逆に基本的なアルゴリズムは理解していて、もっと深い知識を得たいという方にはマッチしない内容です。

最後に

本の内容に触れると、そのままアルゴリズムの説明になってしまうので避けたのですが、いつも以上にぼんやりした記事になってますね。

ただの宣伝になってしまいますが、2,500円でこの内容は安いので、購入悩んでる方は買ってよいと思います。少なくとも損はしないです。