Amazon.co.jp
情報系の勉強をしたことのある人ならば、誰しもプログラムにおけるアルゴリズムの概念に触れたことがあるだろう。同じ動作をするプログラムでもエレガントなアルゴリズムを持つものとそうでないものの間には実行時間や堅牢性、リソースの利用量などにおいて大きな隔たりがあり、時には劇的なほどパフォーマンスの差があることも珍しくはない。一方でそのようなアルゴリズムを創出することがいかに難しいかも周知のことである。そのため現在では納期や効率に重点をおいたプログラミングが優先されることが多いが、単純で美しいプログラムを書くことは何より重要なことである。
本書は著者を含めたプログラマーたちが扱った問題をベースに、エレガントなプログラムを書く際のさまざまなアドバイスや手法について解説したものである。大学でのアルゴリズム講義に登場してくる探索やソート、データ構造といった内容に触れており、現実的な題材の下に要求の定義、リソースの活用の仕方、動作する環境などのさまざまな側面からどのようにアルゴリズムを組むべきかといった、プログラムを組む上での原理原則を学べるように構成されている。
このように題材となっている内容は決して特殊ではなく、プログラムを組んだ経験のある人ならば必ず触れたことのあるレベルなので、高級言語でのプログラムが書ける人ならば誰でも理解できる内容になっている。随所に登場する設問や読書案内も読者が学習する上で役に立つだろう。
数理的な解析に重点を置く大学でのアルゴリズム講義の内容は実際のプログラミングに生かしにくいが、本書では応用や実際のコード化といった面に重点が置かれて説明がされているので実務上も大いに役立つ。自分のプログラミングを原則的、一般的な見地からよりよいものにしていくために必ず役立つ本だ。(斎藤牧人)
内容(「BOOK」データベースより)
本書の第1部ではプログラミングの基礎である、問題定義、アルゴリズム、データ構造、プログラムの検証とテストを考えます。第2部には、効率に関するコラムをまとめました。第3部はこれらのテクニックをソート、探索、文字列などの重要な問題に応用しています。
内容(「MARC」データベースより)
プロのプログラミングの魅力的な側面、きちんとした工学基礎上にある、ひらめきや創造について論じる。「プログラム設計の着想」(近代科学社 89年刊)に次ぐ、原著第2版の翻訳。