第1章 抽象數據類型
1.1 實驗目的
1.2 實驗內容及要求
1.2.1 實驗內容
1.2.2 實驗要求
1.3 知識點提示
1.3.1 抽象類型定義
1.3.2 復數
1.3.3 抽象數據類型的復數例
1.3.4 結構體類型定義
1.3.5 程序的組織
1.4 實驗步驟
1.5 實驗程序參考
1.5.1 Complex.h
1.5.2 Complex.cpp
1.5.3 main.cpp
1.5.4 運行截圖
1.6 常見問題及思考
1.6.1 常見問題及解答
1.6.2 思考
1.7 選做:三元組
第2章 線性表
2.1 實驗目的
2.2 實驗內容及要求
2.2.1 實驗內容
2.2.2 實驗要求
2.3 知識點提示
2.3.1 線性表的基本定義
2.3.2 線性表的順序存儲結構
2.3.3 線性表順序表示的插入操作
2.3.4 線性表順序表示的刪除操作
2.3.5 線性表的鏈式存儲結構
2.3.6 線性鏈表的插入操作
2.4 實驗步驟
2.5 實驗程序參考
2.5.1 Common.h
2.5.2 LinkList.h
2.5.3 main.cpp
2.5.4 運行截圖
2.6 常見問題及思考
2.7 選做:線性表的逆置
第3章 棧及其應用
3.1 實驗目的
3.2 實驗內容及要求
3.2.1 實驗內容
3.2.2 實驗要求
3.3 知識點提示
3.3.1 順序棧的結構定義
3.3.2 鏈棧的結構定義
3.3.3 棧的基本操作
3.4 實驗步驟
3.5 實驗程序參考
3.5.1 SeqStack.h
3.5.2 main.cpp
3.5.3 結果截圖
3.6 常見問題及思考
3.7 選做:迷宮問題
3.7.1 問題描述
3.7.2 參考程序Stack.h
3.7.3 參考程序Main.cpp
第4章 串的模式匹配
4.1 實驗目的
4.2 實驗內容及要求
4.2.1 實驗內容
4.2.2 實驗要求
4.3 知識點提示
4.3.1 ADT SString
4.3.2 字符串的存儲結構
4.3.3 樸素匹配算法
4.3.4 KMP算法
4.4 實驗步驟
4.5 實驗程序參考
4.5.1 SString.cpp
4.5.2 main.cpp
4.5.3 結果截圖
4.6 常見問題及思考
第5章 二叉樹的建立、遍歷及常用運算
5.1 實驗目的
5.2 實驗內容及要求
5.2.1 實驗內容
5.2.2 實驗要求
5.3 知識點提示
5.3.1 ADT Tree
5.3.2 二叉樹的存儲結構
5.3.3 二叉樹的遍歷
5.3.4 二叉樹遍歷的非遞歸算法(中序)
5.3.5 二叉樹構造的遞歸算法(擴展先序)
5.4 實驗步驟
5.5 實驗程序參考
5.5.1 BiTree.cpp
5.5.2 main.cpp
5.5.3 運行截圖
5.6 常見問題及思考
5.7 選做:啥夫曼樹與哈夫曼編碼
第6章 圖及其應用
6.1 實驗目的
6.2 實驗內容及要求
6.2.1 實驗內容
6.2.2 實驗要求
6.3 知識點提示
6.3.1 圖的抽象數據類型
6.3.2 鄰接矩陣表示法
6.3.3 鄰接表表示法
6.3.4 圖的深度優(yōu)先遍歷
6.3.5 圖的廣度優(yōu)先遍歷
6.3.6 最短路徑算法
6.4 實驗步驟
6.5 實驗程序參考
6.5.1 ArtinfoType.h
6.5.2 VertexlnfoType.h
6.5.3 Queue.h
6.5.4 ALGraph.h
6.5.5 Main.cpp
6.5.6 輸入文件
6.5.7 運行截圖
6.6 常見問題及思考
6.7 實驗擴展
第7章 查找與排序
7.1 實驗目的
7.2 實驗內容及要求
7.2.1 實驗內容
7.2.2 實驗要求
7.3 知識點提示
7.3.1 直接插入排序
7.3.2 快速排序
7.3.3 堆排序
7.3.4 順序查找
7.3.5 二分查找
7.4 實驗步驟
7.5 實驗程序參考
7.5.1 SortAPP.cpp
7.5.2 排序運行截圖
7.5.3 SearchAPP.cpp
7.5.4 查找運行截圖
7.6 常見問題及思考
7.7 實驗擴展
第8章 綜合實例——內存分配模擬系統(tǒng)
8.1 課程設計目的
8.2 課程設計內容
8.3 課程設計過程
8.3.1 總體設計
8.3.2 數據結構定義
8.3.3 分配算法
8.4 實驗程序參考
8.5 系統(tǒng)運行結果截圖
附錄一:實驗報告規(guī)范
附錄二:VS2008簡單調試
參考文獻