每章皆為獨立的單一 HTML 頁面,含左側大綱、公式方塊、觀念與考題陷阱提示、完整的 C 程式碼、手繪的 SVG 圖,以及可展開解答的習題。內容依據原書掃描頁逐頁整理而成。Each chapter is a standalone single-page HTML guide with a left-hand outline, boxed equations, concept and exam-trap callouts, the complete C programs, hand-drawn SVG figures, and exercises whose solutions expand in place. The content is written from the scanned pages of the book, one page at a time.各章は独立した単一ページの HTML ガイドで、左側のアウトライン、数式ボックス、概念と試験の落とし穴の注記、完全な C プログラム、手描きの SVG 図、その場で展開できる解答付き演習を備えています。
一、基礎與表示法I. Foundations and RepresentationI. 基礎と表現
先把評比資料結構的共同語彙建立起來:ADT、步驟計數與漸近式表示法,再看最基本的陣列與結構。First build the shared vocabulary for judging data structures — ADTs, step counts and asymptotic notation — then the most basic containers: arrays and structures.まずデータ構造を評価する共通語彙(ADT、ステップ数、漸近表記)を整え、次に最も基本な配列と構造体を見ます。
-
第 1 章Chapter 1第 1 章
基本觀念Basic Concepts基本概念
系統生命週期的五個階段、演算法的五項條件、遞迴演算法、抽象資料型態(ADT)的定義格式,以及空間與時間複雜度——步驟計數的兩種算法、O / Ω / θ 的定義與定理 1.2~1.4,最後以 clock / time 實測效率作結。The five phases of the system life cycle, the five criteria an algorithm must satisfy, recursion, the definition format for an abstract data type, and space and time complexity — two ways of counting program steps, the O / Ω / θ definitions with Theorems 1.2–1.4, and finally measuring real performance with clock and time.システムライフサイクルの 5 段階、アルゴリズムの 5 条件、再帰、抽象データ型(ADT)の定義形式、そして空間計算量と時間計算量——ステップ数の 2 つの数え方、O / Ω / θ の定義と定理 1.2〜1.4、最後に clock / time による実測。
-
第 2 章Chapter 2第 2 章
陣列與結構Arrays and Structures配列と構造体
把陣列當成 ADT 而非「一連串記憶位址」;C 的 struct、union 與自我參考結構;多項式與稀疏矩陣的三項式表示法(含 fast_transpose 與 mmult 的複雜度分析)、多維陣列的列序定址公式,以及字串 ADT 與 KMP 樣式比對的失敗函數。Treating the array as an ADT rather than "a consecutive set of memory locations"; C structs, unions and self-referential structures; the triple representation for polynomials and sparse matrices (with the complexity analyses of fast_transpose and mmult); row-major addressing for multidimensional arrays; and the string ADT with the Knuth–Morris–Pratt failure function.配列を「連続した記憶位置」ではなく ADT として扱うこと、C の struct・union・自己参照構造、多項式と疎行列の 3 つ組表現(fast_transpose と mmult の解析を含む)、多次元配列の行優先アドレシング、そして文字列 ADT と KMP の失敗関数。
二、線性資料結構II. Linear Data StructuresII. 線形データ構造
限制存取端點的堆疊與佇列,以及用指標解開陣列插入刪除限制的串列。Stacks and queues, which restrict where you may access, and linked lists, which use pointers to escape the array’s insertion and deletion cost.アクセス位置を制限するスタックとキュー、そしてポインタで配列の挿入・削除コストを回避するリスト。
-
第 3 章Chapter 3第 3 章
堆疊與佇列Stacks and Queuesスタックとキュー
堆疊與佇列的 ADT 與陣列實作、環狀佇列的滿與空判定、迷宮問題的回溯法,以及運算式求值——中置轉後置與堆疊求值。The stack and queue ADTs and their array implementations, the full/empty test for a circular queue, the maze problem solved by backtracking, and expression evaluation — infix to postfix conversion and stack-based evaluation.スタックとキューの ADT と配列実装、循環キューの満空判定、迷路問題のバックトラック法、そして式の評価——中置から後置への変換とスタックによる計算。
-
第 4 章Chapter 4第 4 章
串列Linked Listsリスト
指標與動態記憶配置、單向串列的建立與邊界情況、連結堆疊與佇列、以串列表示多項式與稀疏矩陣、環狀串列與雙向串列,以及等價類別問題。Pointers and dynamic memory allocation, building singly linked lists and their boundary cases, linked stacks and queues, polynomials and sparse matrices represented as lists, circular and doubly linked lists, and the equivalence-class problem.ポインタと動的メモリ確保、単方向リストの構築と境界条件、連結スタックとキュー、リストによる多項式と疎行列の表現、循環リストと双方向リスト、そして同値類問題。
三、非線性資料結構III. Nonlinear Data StructuresIII. 非線形データ構造
樹與圖——一個元素不再只有一個後繼者時,演算法的型態就改變了。Trees and graphs — once an element may have more than one successor, the shape of the algorithms changes.木とグラフ——要素が複数の後継を持ちうるとき、アルゴリズムの形が変わります。
-
第 5 章Chapter 5第 5 章
樹狀結構Trees木構造
樹的術語與表示法、二元樹的性質與儲存、三種尋訪順序與其遞迴/非遞迴實作、線索二元樹、堆積與二元搜尋樹、選取樹,以及森林與 union-find。Tree terminology and representations, properties and storage of binary trees, the three traversal orders with both recursive and iterative implementations, threaded binary trees, heaps and binary search trees, selection trees, and forests with union–find.木の用語と表現、二分木の性質と格納、3 つの巡回順序とその再帰・非再帰実装、スレッド二分木、ヒープと二分探索木、選択木、そして森と union-find。
-
第 6 章Chapter 6第 6 章
圖形Graphsグラフ
圖的術語與三種表示法、深度與廣度優先尋訪、連通元件與生成樹、最小成本生成樹(Kruskal、Prim、Sollin)、最短路徑與傳遞閉包,以及活動網路 AOV/AOE 與拓樸排序、關鍵路徑。Graph terminology and the three representations, depth-first and breadth-first search, connected components and spanning trees, minimum-cost spanning trees (Kruskal, Prim, Sollin), shortest paths and transitive closure, and activity networks — AOV/AOE with topological sorting and the critical path.グラフの用語と 3 つの表現、深さ優先・幅優先探索、連結成分と全域木、最小全域木(Kruskal、Prim、Sollin)、最短経路と推移閉包、そして活動ネットワーク AOV・AOE とトポロジカルソート。
四、排序、搜尋與進階結構IV. Sorting, Searching and Advanced StructuresIV. ソート・探索と発展的な構造
把前面建立的分析工具全面用上:排序、雜湊、各種堆積,以及平衡搜尋樹。Where the analysis tools from Chapter 1 get their full workout: sorting, hashing, the heap family, and balanced search trees.第 1 章で用意した解析道具が本格的に使われるところ:ソート、ハッシュ法、ヒープ群、平衡探索木。
-
第 7 章Chapter 7第 7 章
排序Sortingソート
搜尋與排序的關係、插入排序、快速排序、合併排序、堆積排序、基數排序,以及排序時列表與鍵值的搬動、實用考量與外部排序。How searching relates to sorting, insertion sort, quick sort, merge sort, heap sort and radix sort, plus the cost of moving lists versus keys, practical considerations, and external sorting.探索とソートの関係、挿入ソート、クイックソート、マージソート、ヒープソート、基数ソート、そしてリストとキーの移動コスト、実用上の考慮、外部ソート。
-
第 8 章Chapter 8第 8 章
雜湊Hashingハッシュ法
靜態雜湊、雜湊函數的設計、確定式定址與連結法的衝突處理及其效率分析,以及動態雜湊。Static hashing, designing hash functions, collision resolution by open addressing and by chaining with the accompanying performance analysis, and dynamic hashing.静的ハッシュ法、ハッシュ関数の設計、オープンアドレシングと連鎖法による衝突処理とその性能解析、そして動的ハッシュ法。
-
第 9 章Chapter 9第 9 章
累堆結構Heap Structuresヒープ構造
最小最大堆積、對稱堆積、斜堆積與二項堆積,以及成本分攤(amortized cost)的分析方法。Min-max heaps, deaps, leftist and skew heaps, binomial heaps, and the amortized-cost analysis that makes their bounds meaningful.最小最大ヒープ、deap、スキューヒープ、二項ヒープ、そしてそれらの上界を意味あるものにするならし計算量解析。
-
第 10 章Chapter 10第 10 章
搜尋結構Search Structures探索構造
本書最長的一章:最佳二元搜尋樹、AVL 樹、2-3 樹與 2-3-4 樹、紅黑樹、B 樹與 B+ 樹,以及分散式搜尋結構。The longest chapter in the book: optimal binary search trees, AVL trees, 2-3 and 2-3-4 trees, red–black trees, B-trees and B+-trees, and splay and digital search structures.本書で最も長い章:最適二分探索木、AVL 木、2-3 木と 2-3-4 木、赤黒木、B 木と B+ 木、そしてデジタル探索構造。