內容簡介
本書是結合兩位作者多年講授“數據結構”課程的教學經驗,以及在理論答疑、上機實踐、課外輔導過程中所遇到的實際問題編寫而成的。本書雖然是《數據結構基礎教程》立體化教材建設的配套用書,但也可以獨立使用。本書由10章組成,每章由5節組成。第1節學習要點,給出課程內容的主要知識點,突出重點,指導學習者理順課程內容,完成知識構建; 第2節重點難點分析,給出課程學習要求和線索,對重點難點問題進行分析解答,突破學習者學習的難點; 第3節例題,提供一些具體的、有代表意義的典型例題,並對答案進行解析; 第4節習題,題目覆蓋面廣,形式多變,指導學生將知識點轉化為解決實際問題的能力; 第5節實驗指導,包含設計型、綜合型題目並提供程式分析,幫助學習者將教材知識點落到上機編程的實處,激發學習熱情。
本書注重突出關鍵細節,並強化實例講解。最後配套考試模擬題以及模擬題、習題、實驗的參考答案,所有算法均經過VC平台上調試運行。
本書可供高等院校計算機信息科學與技術及其相關專業本科教學使用,同時也適合非計算機專業人員自學使用。
圖書目錄
第1章緒論
1.1學習要點
1.1.1數據相關概念
1.1.2數據模型與數據結構
1.1.3數據操作與算法分析
1.1.4數據結構地位與內容體系
1.2重點難點分析
1.2.1學習要求與線索
1.2.2重點難點解析
1.3例題
1.4習題
1.5實驗指導
第2章線性表
2.1學習要點
2.1.1線性表的邏輯結構
2.1.2線性表的順序存儲結構
2.1.3線性表的鏈式存儲結構
2.1.4線性表存儲結構比較
2.2重點難點分析
2.2.1學習要求與線索
2.2.2重點難點解析
2.3例題
2.4習題
2.5實驗指導
2.5.1數組基本操作
2.5.2紙牌遊戲
2.5.3鍊表基本操作
2.5.4有序鍊表的合併
2.5.5一元多項式相減
2.5.6Joseph環
第3章棧與佇列
3.1學習要點
3.1.1棧
3.1.2佇列
3.2重點難點分析
3.2.1學習要求與線索
3.2.2重點難點解析
3.3例題
3.4習題
3.5實驗指導
3.5.1棧的套用之單括弧匹配
3.5.2棧的套用之多級括弧匹配
3.5.3十進制整數轉化為R進制整數
3.5.4佇列基本操作
3.5.5跳舞配對問題1
3.5.6跳舞配對問題2
第4章數組、串和廣義表
4.1學習要點
4.1.1數組
4.1.2串
4.1.3廣義表
4.2重點難點分析
4.2.1學習要求與線索
4.2.2重點難點解析
4.3例題
4.4習題
4.5實驗指導
4.5.1對稱矩陣的壓縮存儲與輸出
4.5.2三元組快速轉置
4.5.3文章編輯
第5章二叉樹及套用
5.1學習要點
5.1.1二叉樹及其基本性質
5.1.2二叉樹存儲
5.1.3二叉樹的遍歷
5.1.4線索二叉樹
5.1.5Huffman編碼
5.2重點難點分析
5.2.1學習要求與線索
5.2.2重點難點解析
5.3例題
5.4習題
5.5實驗指導
5.5.1建立二叉樹
5.5.2中序非遞歸遍歷二叉樹
5.5.3統計葉子結點個數
5.5.4求二叉樹的深度
5.5.5哈夫曼樹的建立
第6章樹與森林
6.1學習要點
6.1.1樹的基本概念
6.1.2樹的存儲結構
6.1.3樹的遍歷
6.1.4森林
6.1.5樹與二叉樹的轉換
6.2重點難點分析
6.2.1學習要求與線索
6.2.2重點難點解析
6.3例題
6.4習題
6.5實驗指導
6.5.1子結點鍊表法建立樹型結構
6.5.2左子/右兄弟法建立樹型結構
第7章圖
7.1學習要點
7.1.1圖的基本概念
7.1.2圖的兩種存儲結構
7.1.3圖的遍歷
7.1.4圖的最小生成樹
7.1.5最短路徑
7.1.6有向無環網及套用
7.2重點難點分析
7.2.1學習要求與線索
7.2.2重點難點解析
7.3例題
7.4習題
7.5實驗指導
7.5.1圖的建立與輸出
7.5.2圖的深度優先遍歷
第8章查找
8.1學習要點
8.1.1相關概念
8.1.2基於線性表查找
8.1.3基於二叉樹查找
8.1.4基於散列表查找
8.2重點難點分析
8.2.1學習要求與線索
8.2.2重點難點解析
8.3例題
8.4習題
8.5實驗指導
8.5.1二分查找
8.5.2建立二叉排序樹
8.5.3二叉排序樹查找
8.5.4散列查找
第9章排序
9.1學習要點
9.1.1排序相關概念
9.1.2插入排序
9.1.3交換排序
9.1.4選擇排序
9.1.5歸併排序
9.1.6各種排序方法比較
9.2重點難點分析
9.2.1學習要求與線索
9.2.2重點難點解析
9.3例題
9.4習題
9.5實驗指導
9.5.1直接插入排序
9.5.2快速排序
9.5.3簡單選擇排序
9.5.4學生成績管理系統
第10章檔案
10.1學習要點
10.1.1檔案基本概念
10.1.2順序檔案
10.1.3索引檔案
10.1.4動態索引B樹
10.1.5散列檔案
10.1.6多關鍵字檔案
10.2重點難點分析
10.2.1學習要求與線索
10.2.2重點難點解析
10.3例題
10.4習題
10.5實驗指導
附錄A考試模擬題
考試模擬題(一)
考試模擬題(二)
考試模擬題(三)
考試模擬題(四)
考試模擬題(五)
附錄B考試模擬題參考答案
考試模擬題(一)參考答案
考試模擬題(二)參考答案
考試模擬題(三)參考答案
考試模擬題(四)參考答案
考試模擬題(五)參考答案
附錄C習題參考答案
C.1緒論參考答案
C.2線性表參考答案
C.3棧與佇列參考答案
C.4數組、串和廣義表參考答案
C.5二叉樹及套用參考答案
C.6樹與森林參考答案
C.7圖參考答案
C.8查找參考答案
C.9排序參考答案
C.10檔案參考答案
附錄D實驗報告內容
附錄E實驗參考程式
E.1緒論實驗參考程式
E.1.1時間複雜度分析
E.2線性表實驗參考程式
E.2.1數組基本操作
E.2.2紙牌遊戲
E.2.3鍊表基本操作
E.2.4有序鍊表的合併
E.2.5一元多項式相減
E.2.6Joseph環
E.3棧與佇列實驗參考程式
E.3.1棧的套用之單括弧匹配
E.3.2棧的套用之多級括弧匹配
E.3.3十進制整數轉化為R進制整數
E.3.4佇列基本操作
E.3.5跳舞配對問題1
E.3.6跳舞配對問題2
E.4數組、串和廣義表實驗參考程式
E.4.1對稱矩陣的壓縮存儲與輸出
E.4.2三元組快速轉置
E.4.3文章編輯
E.5二叉樹及套用實驗參考程式
E.5.1建立二叉樹
E.5.2中序非遞歸遍歷二叉樹
E.5.3統計葉子結點個數
E.5.4求二叉樹的深度
E.5.5哈夫曼樹的建立
E.6樹與森林實驗參考程式
E.6.1子結點鍊表法建立樹型結構
E.6.2左子/右兄弟法建立樹型結構
E.7圖實驗參考程式
E.7.1圖的建立與輸出
E.7.2圖的深度優先遍歷
E.8查找實驗參考程式
E.8.1二分查找
E.8.2建立二叉排序樹
E.8.3二叉查找樹查找
E.8.4散列查找
E.9排序實驗參考程式