PR

 誇張表現ではなく、文字通り“全プログラマ必読”の一冊である。評者(武部)は2009年4月に日経ソフトウエア編集部に異動してきて以来、プログラミング書籍の新刊をほぼすべてチェックしてきたが、その中でも本書はお薦め度において圧倒的なナンバーワンだ。近年、TopCoderやGoogle Code Jamといった世界規模のプログラミングコンテストが流行している。特にTopCoderはネット経由でいつでも始められるので人気が高い。そして、あまり知られていないようだが、これらのコンテストでは日本勢が活躍中だ。例えば、本稿を書いている時点では、TopCoderアルゴリズム部門の学校別ランキングで東京大学が3位、国別で日本は5位である。人口差を考えれば良い順位だろう。本書はこれらのコンテストで活躍する“レッドコーダー”と呼ばれる世界トップクラスの三人が執筆したものである。

 プログラミングにおいて最も重要なのはアルゴリズムとデータ構造の理解だろう。しかし、中級者向けの良い本は少ない。クイックソートやマージソートの解説で終わってしまう入門者向けの本と、具体的な実装コードがほとんど載っていない学術的な本に2極化している。前者の知識では価値あるプログラムはなかなか作れないし、後者は読みこなすのが困難。また、後者は「そのアルゴリズムでどのような問題を解けるのか」についての説明が不十分に感じられる場合が多い。一方、本書は解くべき問題を明確に提示し、価値あるプログラムの作成に必要な知識を具体的なコード(C++とSTL)を示して説明する。扱う内容は探索、動的計画法、グラフ、ダイクストラ法など実に多彩だ。読み込めば相当な実力が付くだろう。

プログラミングコンテストチャレンジブック

プログラミングコンテストチャレンジブック
秋葉拓哉/岩田陽一/北川宜稔著
毎日コミュニケーションズ発行
3444円(税込)