索引 / 001 JA
A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills(常識で分かるデータ構造とアルゴリズム) cover

コンピュータサイエンス

コンピュータサイエンス

A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills(常識で分かるデータ構造とアルゴリズム)

Jay Wengrow

英語原題: A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills

現場のプログラマが頼りにするデータ構造とアルゴリズムを、平易な言葉で解説する入門書。各構造について操作にかかるステップ数を数えることで説明し、その数え方から Big O 記法を組み立て、JavaScript、Python、Ruby のコードを示す。各章末の演習で理解を確かめられる。

前提知識: ループ、関数、配列を含む、何らかの一般的な言語での基本的なプログラミング。算数以上の数学は不要。

難易度レベル
初級
学術レベル
学部
data structuresアルゴリズムbig o notationrecursionプログラミング教科書

01 / 経典教科書推薦

経典教科書推薦

対象読者

形式的な教科書を難しく感じる、データ構造の授業を始めたばかりの学生、学位課程で得られる基礎を身につけたい独学のプログラマやブートキャンプ修了者、そして標準的な教科書に進む準備をしたい人に向く。小さなプログラムはすでに書け、あるコードが速く別のコードが遅い理由を理解したい読者を想定している。

前提知識

ループ、関数、配列を含む、何らかの一般的な言語での基本的なプログラミング。算数以上の数学は不要。

扱う内容

ステップ数による効率の測定。時間と空間の Big O 記法。配列、集合、二分探索を伴う整列済み配列。単純な整列アルゴリズムとその解析。ハッシュテーブル。スタックとキュー。再帰と再帰的な考え方。動的計画法とメモ化。クイックソートとクイックセレクト。連結リスト。二分探索木。ヒープと優先度付きキュー。トライ。幅優先・深さ優先探索とダイクストラ法を含むグラフ。コード最適化の実践的な技法。

使い方

バルガヴァの Grokking Algorithms が主に図解と厳選したアルゴリズムで教えるのに対し、本書はより長くコード中心で、主要なデータ構造を演習とともに一つずつたどる。実際のコードを解析する練習を着実に積みたい場合に向く。章を読んだら、例題を自分の使う言語で動かし、書き換えてみるとよい。

版と出典

第2版で、The Pragmatic Bookshelf より2020年8月に刊行(ISBN 9781680507225)。再帰、動的計画法、日常的な Big O の活用に関する章と、全体を通じた演習が加えられた。本レコードの書誌情報は The Pragmatic Bookshelf に基づく。