内容紹介

プログラミング入門書として広く活用いただいている『独学プログラマー』の姉妹書が登場。第2弾の本書は、コンピューターサイエンス(計算機科学)の入門書です。
アルゴリズムとデータ構造について、図およびPythonのコードで具体的に示しながら、分かりやすく説明します。
「独学プログラマー」が活躍するうえで役に立つ、基本的な概念と実装を紹介します。


本書に登場するコードは、日経BOOKプラスの本書ウェブページからダウンロードいただけます。詳細な目次ページ(PDF)もそちらからダウンロードいただけます。

独学プログラマーが理解しておくべきもっとも大切な分野を学ぼう!
私は当時、スタンフォード大学、カリフォルニア大学バークレイ校、カリフ ォルニア工科大学を出た優秀なプログラマーと一緒のチームにいました。コンピューターサイエンスを十分に理解している同僚たちの中で、不安で、居心地の悪さを感じていました。独学プログラマーとしてコンピューターサイエンスを学ぶことで、このような不安を最小限に抑えられます。
さらに、アルゴリズムとデータ構造を学ぶことで、プログラマーとして成長できます。成長の鍵は、フィードバックループにあります。フィードバックループとは、学んだことを実行してみて、それが期待どおりかどうかすぐに確認することです。
――「イントロダクション」より

1冊目としてちょうど良い難易度
本書の著者、コーリー・アルソフ(Cory Althoff)は、独学プログラマーです。前作『独学プログラマー』は、彼が独学で、ゼロからプログラミングを学んだ体験に基づいて書かれました。彼の独学プログラマーとしての学び方は、多くの人に支持されています。
前作のあとがきでも触れましたが、コーリー自身が学びの途中にあり、対象読者と同じ視点でアルゴリズムとデータ構造というコンピューターサイエンスの必須知識を説明してくれていることに価値があります。アルゴリズムとデータ構造を扱う本はたくさんありますが、本書ほど入門しやすく説明してくれている本は稀でしょう。
本書は、難しい内容であるアルゴリズムとデータ構造について、要点を絞って分かりやすく伝えています。そのため、これらを学ぶ1冊目としてちょうど良い難易度になっています。本書を読んだ後ならきっと、技術面接においてある程度の自信が持てるでしょうし、プログラムを実装する際にもキーワードとその内容を知っているので、文献探しや実装例を見つけ出す手がかりが得やすいでしょう。
――「日本語版あとがき」より


■本書に掲載しているプログラム(各種.pyファイルや、それらをGoogle Colaboratoryのノートブックにしたファイル)は、こちらからダウンロードいただけます。

■本書の目次ページだけをまとめたPDFファイルは、こちらからダウンロードいただけます。

【目次】
第1部 アルゴリズム入門

第0章 イントロダクション
第1章 アルゴリズムとは何か?
第2章 再帰
第3章 探索アルゴリズム
第4章 ソートアルゴリズム
第5章 文字列のアルゴリズム
第6章 数学
第7章 独学伝:マーガレット・ハミルトン

第2部 データ構造
第8章 データ構造とは何か?
第9章 配列
第10章 連結リスト
第11章 スタック
第12章 キュー
第13章 ハッシュテーブル
第14章 二分木
第15章 二分ヒープ
第16章 グラフ
第17章 独学伝:イーロン・マスク
第18章 次のステップ

第3部 もっと学ぼう
補章1 アルゴリズムへの理解を深めるために―ハッシュテーブル―
補章2 アルゴリズムへの理解を深めるために―ダイクストラ法―
補章3 継続して学ぶために