『独学コンピューターサイエンティストPythonで学ぶアルゴリズムとデータ構造』(コーリー・アルソフ著)
コンピューターサイエンス(計算機科学)の入門書です。アルゴリムとデータ構造について説明します。コンピューターサイエンスは、コンピューターとその動作について学ぶ学問です。独学プログラマーが活躍するうえで役に立つ基本的な概念と実装を紹介します。独学プログラマーが理解しておくべきもっとも大切な分野は、アルゴリムとデータ構造です。 あなたは何でもできるし、何にでもなれます。 挑戦することをためらわないでください。 たとえ何もかもうまくいってないときだとしても。 プログラミングのような新しいスキルを身に付ける上で一番難しいのは 学ぶ内容の難しさではなく、学び続けることです。 学習を継続するコツは「鎖を切らすな」です。 学習したらカレンダにXを付けます。これだけです。Xが並び、鎖ができ始めると、途切れさせたくない気持ちなるのです。 何日かたつと鎖ができます。後はその鎖を維持するだけで、鎖は日々長くなってくのです。何週間かして、それが自分のものになってくると、鎖を見るのが楽しみになります。あとやるべきことは、この鎖を切らさないことです。(ジェリー・サインフェルド『サインフェルド・メソッド』) 「習慣化できる強い人間になろう」が答えなのではなく、弱い自分でも続けられることをやり続けようということ。
目次
第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 継続して学ぶために