## 資料結構

1. 程式規格、設計、與分析
Program Specification,Design and Analysis. 1.1 Specification and Design
1.2 Running the analysis
1.3 Testing and Debugging

1.4 抽象資料型別與 C++ 的類別

2. 容器類別
Container Classes 2.1 The Bag ADT
2.2 Programming Project: The List ADT

3. 指標與動態陣列
Pointer and Dynamic Arrays 3.1 Pointer and Dynamic memory.
3.2 Pointers and Arrays as parameters.
3.3 The Bag ADT with a dynamic array.
3.4 Prescription for a dynamic class.
3.5 Programming project -- The String ADT.

4. 鏈結串列
Linked Lists 4.1 Fundamentals of Linked Lists
4.2 A Linked List Tookit: a clollection of linked list function
4.3 The Bag ADT with a linked list
4.4 Programming project:The List ADT with a Linked List.
4.5 Dynamic Arrays v.s. linked lists v.s. doubly linked lists.

5. 以模板達成程式碼再運用
Software Reuse with Templates 5.1 Template functions
5.2 Template functions in a Toolkit.
5.3 Template Classes.
5.4 Using template in the linked list toolkit
5.5 The Bag template class with a linked list

6. 堆疊
Stacks 6.1 Introduction to Stacks.
6.2 Stack Applications .
6.3 Implementations of the stack ADT.
6.4 More Complex Stack Applications

7. 佇列
Queues 7.1 Introduction to Queues.
7.2 Queue Applications.
7.3 Implementations of the queue ADT.
7.4 Priority Queues

8. 遞迴式的思考
Recursive Thinking 8.1 Recursive Functions

9. 樹狀結構
Trees 9.1 Introduction to trees
9.2 Tree Representation
9.3 A Toolkit for binary tree nodes
9.4 Tree Traversale : procedivre to process all the nodes in a tree
9.5 Binary Search Tree

10. 累堆結構
Heap 10.1 Heap
10.2 B-Trees
10.3 Trees, Logs, and time Analysis

11. 搜尋
Searching 11.1 Serial search and Binary Search.
11.2 Open-Addres Hashing.
11.3 Chained Hashing.
11.4 Time analysis of hashing.

12. 排序
Sorting 12.1 Quadritic 排序演算法
12.2 遞迴式的排序演算法

[back]