『アルゴリズムを学ぼう』『続・アルゴリズムを学ぼう』川中真耶、杵渕朋彦、椎名俊輔
(著者に知り合いがいるのに今頃買ったなんて、口が裂けても言えない^^;)
噂どおり、ゆるふわなイラストで油断させたガチの内容(笑)
基礎的な内容から探索・ソート・暗号・シミュレーション・AIなど、いろいろなアルゴリズムに触れている。
特に一番最初のデータ構造と計算量は、大学の情報工学科でも出てくる本当に基本的な話なので、仕事でプログラミングをする人は押さえておいた方がいい。
少なくともデータ構造に関しては、オブジェクト指向厨だろうが関数型モヒカンだろうがstaticおじさんだろうが、絶対把握しておくべき。
とか言いながら、「ヒープ」がデータ構造の一種だって、初めて知ったんだが(爆)
JavaのTreeMapが赤黒木だったのも知らんかった。
NP完全とかP=NP問題とかも言葉は聞いたことあったけど、そういう内容だとは知らんかった。
暗号の概念の話とか面白いね。公開鍵暗号の解説は世の中に多いけど、DESの暗号化の方法(アルゴリズム)の説明は初めて見たw
逆行列の計算とか、なんか昔習ったような気がする。
文字列の探索(マッチング)もKMP法は習った覚えがある(名称は忘れ去っていたが)。
オートマトンも習った、懐かしい。
山登り法も聞いた覚えがある。
というように、情報工学科の人間が習っている内容なので、プログラミングをやっていてそういう基礎を知らない人は、興味があるならこの本は向いているかも。
ただし、アルゴリズムの個々の内容については解説は色々されているものの、数学に挫折した自分には、最後の「ゆえに○○である」の部分がなんでそうなのか理解できなかった(飛躍しているように感じた)ので、本当に理解したければ他に専門書を勉強すべきなんだろうなぁ。
最後に気になる点をひとつ。
レッドブルを温めて飲んだらどうなるか、著者らは試したのだろうか?(笑)
(2013/09/10追記)
この本のストーリーは、アルゴリズムの解説という意味では不要かもしれないけど、面白かったよ(笑) 1冊進む度に1年経過しているということは、4年生・大学院で、あと4冊くらいは余裕だよね?
という訳で、 トランザクションとか分散処理とかのアルゴリズム解説を期待(爆)