數據結構教程
王少波主編書籍
《數據結構教程》是2011年出版的圖書,作者是王少波。
作者:王少波
定價:39元
印次:1-2
ISBN:9787302254072
出版日期:2011.07.01
印刷日期:2016.01.19
“數據結構”是計算機及信息管理專業學科的必修課程。本書是按高等院校對計算機及信息管理專業本科四年制教學大綱的要求編寫的教材。本書也可以作為其他相關專業的教材,還可以作為計算機科技工作者的參考書。本書是作者在二十多年數據結構教學經驗總結的基礎上編寫而成的。全書共分為9章,內容涵蓋數據結構的基本概念、線性表和串、棧和隊列、樹和二叉樹、圖、數組、排序、查找、文件。本書採用C++程序設計語言對演演算法進行描述。本書不僅介紹了數據結構的相關理論,而且運用大量的實際案例充實教材的內容,力求既有理論深度,又有實用價值。在附錄A中還給出了VC++ 6.0編譯環境介紹,在附錄B中給出了本課程學習中應該完成的基本實驗要求。每章的後面都附有相關的習題和部分習題答案。
第1章緒論
1.1什麼是數據結構
1.1.1數據結構相關事例
1.1.2數據結構的定義
1.2數據結構的相關概念
1.2.1數據和信息
1.2.2數據元素
1.2.3結構類型
1.2.4靜態存儲空間分配和動態存儲空間分配
1.3數據類型、抽象數據類型和數據結構
1.3.1數據類型
1.3.2抽象數據類型
1.3.3數據結構、數據類型和抽象數據類型
1.3.4抽象數據類型的三元組表示
1.4演演算法及演演算法分析、演演算法描述
1.4.1演演算法和程序
1.4.2程序性能和演演算法效率
1.4.3演演算法分析
1.4.4演演算法描述
習題1
第2章線性表和串
2.1線性表的定義
2.1.1線性表的邏輯結構
2.1.2線性表的抽象數據類型
2.2線性表的順序存儲及操作
2.2.1線性表順序存儲
2.2.2線性表順序存儲結構下的操作
2.3簡單鏈表存儲結構及操作
2.3.1簡單鏈表的存儲
2.3.2簡單鏈表的操作
2.4雙向鏈表
2.4.1雙向鏈表的存儲
2.4.2雙向鏈表的操作
2.5單向循環鏈表和雙向循環鏈表
2.5.1單向循環鏈表的存儲
2.5.2雙向循環鏈表的存儲
2.6模擬指針方式構造簡單鏈表
2.6.1模擬鏈表的存儲
2.6.2模擬鏈表的操作
2.7多重鏈表
2.8鏈表應用
2.8.1節點移至表首運算
2.8.2鏈表的逆向運算
2.8.3多項式的相加運算
2.8.4十字鏈表結構的應用
2.8.5一個較複雜的機票售票系統的數據結構方案
2.9串
2.9.1串的定義
2.9.2串的邏輯結構及運算
2.9.3串的順序存儲結構
2.9.4串的鏈式存儲結構
習題2
第3章棧與隊列
3.1堆棧的定義
3.1.1堆棧的邏輯結構
3.1.2堆棧的抽象數據類型
3.2堆棧的順序存儲及操作
3.2.1堆棧順序存儲
3.2.2堆棧順序存儲結構下的操作
3.3堆棧的鏈式存儲及操作
3.3.1堆棧的鏈式存儲
3.3.2鏈式棧的操作
3.4多個棧共享鄰接空間
3.5堆棧的應用
3.5.1檢驗表達式中括弧的匹配
3.5.2表達式的求值
3.5.3背包問題求解
3.5.4地圖四染色問題求解
3.6隊列的定義
3.6.1隊列的邏輯結構
3.6.2隊列的抽象數據類型
3.7隊列的順序存儲及操作
3.7.1隊列順序存儲
3.7.2隊列順序存儲結構下的操作
3.8隊列的鏈式存儲及操作
3.8.1隊列的鏈式存儲
3.8.2鏈式隊列的操作
3.9隊列的應用
3.9.1列車重排
3.9.2投資組合問題
習題3
第4章樹和二叉樹
4.1樹、森林的概念
4.1.1樹的定義
4.1.2樹的術語
4.2二叉樹的定義及性質
4.2.1二叉樹的定義
4.2.2二叉樹的性質
4.2.3二叉樹的抽象數據類型
4.3二叉樹的存儲結構
4.3.1二叉樹的順序存儲
4.3.2二叉樹的鏈式存儲結構
4.4二叉樹鏈式存儲結構下的操作
4.4.1二叉樹的操作概念
4.4.2二叉樹的前序、中序、後序遍歷操作
4.4.3二叉樹的層次遍歷操作
4.4.4二叉樹的其他操作
4.5線索樹
4.5.1線索樹的概念
4.5.2二叉線索樹的操作
4.6一般樹的表示和遍歷
4.6.1一般樹的二叉鏈表示以及它與二叉樹的關係
4.6.2二叉樹、一般樹及森林的關係
4.6.3一般樹的遍歷概念
4.6.4一般樹的運算
4.7樹的應用
4.7.1分類二叉樹
4.7.2堆樹
4.7.3樹的路徑長度和哈夫曼樹
習題4
第5章圖
5.1圖的概念
5.1.1圖的定義
5.1.2圖的術語
5.1.3圖的抽象數據類型
5.2圖的存儲結構
5.2.1鄰接矩陣表示法
5.2.2鄰接表表示法
5.2.3十字鏈表
5.2.4鄰接多重表
5.3圖的遍歷
5.3.1深度優先搜索遍歷
5.3.2寬度優先搜索遍歷
5.3.3圖的連通性
5.4最小生成樹
5.4.1生成樹
5.4.2最小代價生成樹
5.5最短路徑
5.5.1單源最短路徑
5.5.2任意兩個頂點之間的路徑
5.6拓撲排序
5.6.1有向無環圖
5.6.2AOV網的概念
5.6.3AOV網的演演算法
5.7關鍵路徑
5.7.1AOE的概念
5.7.2關鍵路徑的概念
5.7.3關鍵路徑的演演算法
習題5
第6章數組、矩陣和廣義表
6.1數組的定義
6.1.1數組的邏輯結構
6.1.2數組的抽象數據類型
6.2數組的順序表示及運算
6.2.1數組的順序存儲結構
6.2.2數組順序存儲結構描述
6.2.3數組順序存儲結構下的操作
6.3矩陣的存儲及操作
6.3.1矩陣的定義及操作
6.3.2矩陣的順序存儲
6.3.3特殊矩陣的壓縮存儲及操作
6.3.4稀疏矩陣的壓縮存儲及操作
習題6
第7章排序
7.1排序的基本概念
7.2待排序數據對象的存儲結構
7.3插入排序
7.3.1直接插入排序
7.3.2折半插入演演算法
7.3.3希爾排序
7.4交換排序
7.4.1冒泡排序
7.4.2快速排序
7.5選擇排序
7.5.1直接選擇排序
7.5.2堆排序
7.5.3樹形選擇排序
7.6歸併排序
7.7基數排序
7.7.1用二維數組表示桶
7.7.2用鏈式存儲結構實現桶
7.8內部排序方法比較
7.9外排序
7.9.1外部排序
7.9.2多路平衡歸併
習題7
第8章查找
8.1查找的概念
8.2靜態查找技術
8.2.1順序查找
8.2.2二分查找
8.2.3分塊查找
8.3動態查找技術
8.3.1平衡二叉樹
8.3.2B-樹
8.3.3B+樹
8.4哈希表的查找
8.4.1基本概念
8.4.2構造哈希函數的方法
8.4.3哈希衝突的解決方法
8.4.4哈希表的查找
8.4.5哈希演演算法
8.4.6哈希表的查找分析
習題8
第9章文件
9.1外部存儲設備
9.1.1磁帶
9.1.2磁碟
9.1.3光碟
9.1.4快閃記憶體
9.2基本概念
9.3順序文件
9.4索引文件
9.5索引順序文件
9.6直接存取文件
9.7倒排文件
習題9
附錄AVC++6.0編譯環境介紹
附錄B實踐內容及要求
參考文獻