01 / 経典教科書推薦
経典教科書推薦
対象読者
形式的な教科書を難しく感じる、データ構造の授業を始めたばかりの学生、学位課程で得られる基礎を身につけたい独学のプログラマやブートキャンプ修了者、そして標準的な教科書に進む準備をしたい人に向く。小さなプログラムはすでに書け、あるコードが速く別のコードが遅い理由を理解したい読者を想定している。
前提知識
ループ、関数、配列を含む、何らかの一般的な言語での基本的なプログラミング。算数以上の数学は不要。
扱う内容
ステップ数による効率の測定。時間と空間の Big O 記法。配列、集合、二分探索を伴う整列済み配列。単純な整列アルゴリズムとその解析。ハッシュテーブル。スタックとキュー。再帰と再帰的な考え方。動的計画法とメモ化。クイックソートとクイックセレクト。連結リスト。二分探索木。ヒープと優先度付きキュー。トライ。幅優先・深さ優先探索とダイクストラ法を含むグラフ。コード最適化の実践的な技法。
使い方
バルガヴァの Grokking Algorithms が主に図解と厳選したアルゴリズムで教えるのに対し、本書はより長くコード中心で、主要なデータ構造を演習とともに一つずつたどる。実際のコードを解析する練習を着実に積みたい場合に向く。章を読んだら、例題を自分の使う言語で動かし、書き換えてみるとよい。
版と出典
第2版で、The Pragmatic Bookshelf より2020年8月に刊行(ISBN 9781680507225)。再帰、動的計画法、日常的な Big O の活用に関する章と、全体を通じた演習が加えられた。本レコードの書誌情報は The Pragmatic Bookshelf に基づく。