第1章 緒論(Introduction)
1-1 演算法與資料結構
1-2 抽象資料型態(Abstract Data Type)
1-3 程式效率的分析法
1-4 漸近式表示法
1-5 演算法的分類簡介
1-6 其他問題範例
第2章 陣列(Arrays)
2-1 陣列
2-2 陣列的位址函數
2-3 特殊矩陣(Special Matrix)
第3章 鏈結串列(Linked Lists)
3-1 鏈結串列介紹與分類
3-2 鏈結串列的基本處理
3-3 儲存池(Storage Pools)
3-4 應用:動態記憶體管理(Dynamic Memory Management)
3-5 廣義串列(Generalized List)
3-6 應用:多項式的表示法(Representations of Polynomials)
3-7 應用:稀疏矩陣(Sparse Matrices)
3-8 字串(String)
第4章 堆疊與佇列(Stacks and Queues)
4-1 堆疊(Stacks)
4-2 應用:回溯式演算法(Backtracking Algorithms)
4-3 佇列(Queues)
4-4 鏈結式堆疊與佇列(Linked Stacks and Queues)
4-5 多重堆疊與多重佇列(Multiple Stacks and Queues)
4-6 應用:運算式的處理(Expression Manipulations)
第5章 遞迴(Recursion)
5-1 遞迴程序(Recursive Procedure)
5-2 遞迴關係式(Recurrence Relations)的解法
5-3 去除遞迴(Removal of Recursion)
第6章 樹(Trees)
6-1 基本名詞與表示法(Basic Terminology & Representations)
6-2 二元樹(Binary Trees)
6-3 二元樹的追蹤(Binary Tree Traversals)
6-4 二元樹的計數(Counting Binary Trees)
6-5 森林與二元樹的轉換(Transforms between Forests and Binary Trees)
6-6 引線二元樹(Threaded Binary Trees)
6-7 二元搜尋樹(Binary Search Trees)
6-8 算式樹(Expression Trees)
6-9 決策樹(Decision Trees)
6-10 互斥集合的表示法(Disjoint Set Representations)
第7章 堆積結構(Heap Structures)
7-1 優先權佇列(Priority Queues)
7-2 堆積結構(Heaps)
7-3 最小最大堆積(Min-Max Heaps)
7-4 對稱最小最大堆積(Symmetric Min-Max Heaps)
7-5 兩頭堆積(Deaps, Double-ended Heaps)
7-6 左撇子樹(Leftist Trees)
7-7 二項式堆積(Binomial Heaps, Binomial Queues)
7-8 費氏堆積(Fibonacci Heaps)
第8章 圖形(Graphs)
8-1 名詞定義(Terminology and Definitions)
8-2 圖形表示法(Graph Represeations)
8-3 圖形搜尋法(Graph Searching Methods)
8-4 伸展樹(Spanning Trees)
8-5 雙連通單元(Biconnected Components)
8-6 最短路徑問題(Shortest Path Problem, SPP)
8-7 遞移封閉集合(Transitive Closures)
8-8 AOV-網路與拓樸排序(AOV-Network and Topological Sort)
8-9 邊工作網路(AOE-Network)
8-10 最大流量問題(Maximum Flow Problems)
第9章 排序法(Sorting)
9-1 排序的基本觀念
9-2 插入排序法(Insertion Sort)
9-3 氣泡排序法(Bubble Sort)
9-4 選擇排序法(Selection Sort)
9-5 謝爾排序法(Shell Sort, Deminishing Increment Sort)
9-6 快速排序法(Quick Sort, Partition Exchange Sort)
9-7 找尋第k小的元素(Selection of kth Smallest Element)
9-8 排序時間下限(Lower-Bound of Sorting)
9-9 二路合併排序(2-way Merge Sort)
9-10 K-路合併排序法(K-way Merging)
9-11 堆積排序(Heap Sort)
9-12 分布式排序法(Distributive Sorts)
9-13 排序綜合探討
第10章 搜尋法(Searching)
10-1 循序搜尋法(Sequential Search, Linear Searching)
10-2 二分搜尋法(Binary Search)
10-3 費氏搜尋法(Fibonacci Search)
10-4 內插搜尋法(Interpolation Search)
10-5 雜湊法(Hashing)
第11章 搜尋樹(Search Trees)
11-1 搜尋表分類(Searching Tables)
11-2 二元搜尋樹(Binary Search Tree)
11-3 霍夫曼演算法(Huffman Algorithm)
11-4 AVL-樹(AVL-Trees)
11-5 斜張樹(Splay Trees)
11-6 B-樹(B-Trees)
11-7 2-3-4樹(2-3-4 Trees)
11-8 紅黑樹(Red-Black Trees)
11-9 Trie
附錄 歷屆試題