プログラミング入門書として広く活用いただいている『独学プログラマー』の姉妹書が登場。第2弾の本書は、コンピューターサイエンス(計算機科学)の入門書です。
アルゴリズムとデータ構造について、図およびPythonのコードで具体的に示しながら、分かりやすく説明します。
「独学プログラマー」が活躍するうえで役に立つ、基本的な概念と実装を紹介します。
本書に登場するコードは、日経BOOKプラスの本書ウェブページからダウンロードいただけます。詳細な目次ページ(PDF)もそちらからダウンロードいただけます。
独学プログラマーが理解しておくべきもっとも大切な分野を学ぼう!
私は当時、スタンフォード大学、カリフォルニア大学バークレイ校、カリフ ォルニア工科大学を出た優秀なプログラマーと一緒のチームにいました。コンピューターサイエンスを十分に理解している同僚たちの中で、不安で、居心地の悪さを感じていました。独学プログラマーとしてコンピューターサイエンスを学ぶことで、このような不安を最小限に抑えられます。
さらに、アルゴリズムとデータ構造を学ぶことで、プログラマーとして成長できます。成長の鍵は、フィードバックループにあります。フィードバックループとは、学んだことを実行してみて、それが期待どおりかどうかすぐに確認することです。
――「イントロダクション」より
1冊目としてちょうど良い難易度
本書の著者、コーリー・アルソフ(Cory Althoff)は、独学プログラマーです。前作『独学プログラマー』は、彼が独学で、ゼロからプログラミングを学んだ体験に基づいて書かれました。彼の独学プログラマーとしての学び方は、多くの人に支持されています。
前作のあとがきでも触れましたが、コーリー自身が学びの途中にあり、対象読者と同じ視点でアルゴリズムとデータ構造というコンピューターサイエンスの必須知識を説明してくれていることに価値があります。アルゴリズムとデータ構造を扱う本はたくさんありますが、本書ほど入門しやすく説明してくれている本は稀でしょう。
本書は、難しい内容であるアルゴリズムとデータ構造について、要点を絞って分かりやすく伝えています。そのため、これらを学ぶ1冊目としてちょうど良い難易度になっています。本書を読んだ後ならきっと、技術面接においてある程度の自信が持てるでしょうし、プログラムを実装する際にもキーワードとその内容を知っているので、文献探しや実装例を見つけ出す手がかりが得やすいでしょう。
――「日本語版あとがき」より