書籍信息
作者:王少波
定價: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實踐內容及要求
參考文獻