內容簡介
《數據結構教程》是為全國高等院校計算機及相關專業開設數據結構課程而精心組織和編著的一本實用教材,內容覆蓋瞭教育部計算機科學與技術專業碩士研究生入學統一考試的大綱要求。《數據結構教程》采用C++描述,強調原理闡述與應用結閤,避免大段冗長代碼,並在每章最後增加進階和最新研究成果的介紹,引導學有餘力的學生進一步自學與本章內容相關的數據結構知識。
目錄
第1章 基礎
1.1 什麼是數據結構
1.2 程序性能分析
1.2.1 程序性能的衡量標準
1.2.2 程序的事後測試
1.2.3 時間復雜性的計算方法
1.2.4 空間復雜性的計算方法
1.2.5 計算復雜性的錶示方法
1.2.6 兩種代價計算方法的比較
1.3 從抽象數據類型到C++語言描述
1.4 C++基礎知識
1.4.1 C++中的類和對象
1.4.2 C++的輸入和輸齣
1.4.3 C++中的變量和常量
1.4.4 C++中的函數
1.4.5 C++中的動態存儲分配
1.4.6 C++中的繼承
1.4.7 C++中的多態性
1.4.8 其他
1.5 進階導讀
習題
第2章 綫性錶
2.1 綫性錶及其基本運算
2.1.1 綫性錶的定義與特點
2.1.2 綫性錶的基本運算
2.2 數組
2.2.1 數組的定義和特點
2.2.2 數組的類定義
2.2.3 數組的順序存儲方式
2.2.4 稀疏矩陣
2.3 綫性錶的順序錶示——順序錶
2.3.1 順序錶的定義和特點
2.3.2 順序錶類定義
2.3.3 順序錶的插入
2.3.4 順序錶的刪除
2.3.5 順序錶的應用實例——用順序存儲的綫性錶錶示多項式
2.4 綫性錶的鏈式錶示——鏈錶
2.4.1 綫性鏈錶的邏輯結構與建立
2.4.2 綫性鏈錶的類定義
2.4.3 綫性鏈錶的插入與刪除
2.4.4 綫性鏈錶的應用實例——用綫性鏈錶錶示多項式
2.4.5 幾種變形的綫性鏈錶
2.4.6 雙嚮鏈錶
2.5 進階導讀
習題
第3章 串
3.1 串的定義
3.2 串的邏輯結構和基本操作
3.3 串的存儲結構
3.3.1 串的數組存儲錶示
3.3.2 串的塊鏈存儲錶示
3.4 串的實現
3.4.1 串的自定義類
3.4.2 串的實現
3.5 串的模式匹配算法
3.5.1 BF算法
3.5.2 KR算法
3.5.3 KMP算法
3.5.4 BM算法
3.6 進階導讀
習題
第4章 棧和隊列
4.1 棧
4.1.1 棧的基本操作
4.1.2 用數組實現棧
4.1.3 用鏈錶實現棧
4.1.4 棧的應用實例
4.2 隊列
4.2.1 用數組實現隊列
4.2.2 循環隊列
4.2.3 雙嚮隊列
4.2.4 用鏈錶實現隊列
4.2.5 隊列的應用舉例
4.3 進階導讀
習題
第5章 遞歸和廣義錶
5.1 遞歸的概念
5.2 遞歸轉化為非遞歸
5.3 廣義錶
5.3.1 廣義錶的概念與存儲結構
5.3.2 廣義錶遞歸算法的實現
5.4 進階導讀
習題
第6章 樹、二叉樹和森林
6.1 基本概念
6.2 樹的存儲結構
6.3 樹的綫性錶示
6.4 樹的遍曆
6.5 二叉樹
6.6 二叉樹的存儲錶示
6.7 二叉樹的各種遍曆
6.8 綫索化二叉樹
6.9 堆
6.10 計算二叉樹的數目
6.11 二叉樹的應用:霍夫曼樹和霍夫曼編碼
6.12 進階導讀
習題
第7章 查找與索引
7.1 查找與索引的概念
7.2 基於順序錶的查找
7.2.1 順序錶
7.2.2 順序查找
7.2.3 有序順序錶上的查找操作
7.3 二叉查找樹
7.3.1 二叉查找樹的結構
7.3.2 二叉查找樹上的查找
7.3.3 基於二叉查找樹的遍曆
7.3.4 最優二叉查找樹
7.3.5 動態二叉查找樹
7.4 B-樹和B+樹
7.4.1 B-樹的結構
7.4.2 B-樹的查詢
7.4.3 B-樹的插入
7.4.4 B-樹的刪除
7.4.5 B+樹
7.5 Trie樹
7.5.1 Trie樹的定義
7.5.2 Trie樹的查找
7.5.3 Trie樹的插入和刪除
7.6 Hash查找
7.6.1 Hash函數
7.6.2 解決衝突的方法
7.6.3 Hash查找的討論
7.7 進階導讀
習題
第8章 圖
8.1 圖的基本概念
8.2 圖的存儲結構
8.2.1 鄰接矩陣
8.2.2 鄰接錶
8.3 圖的遍曆與求圖的連通分量
8.3.1 深度優先查找法
8.3.2 廣度優先查找法
8.3.3 求圖的連通分量
8.4 生成樹與最小(代價)生成樹
8.4.1 普裏姆(Prim)算法
8.4.2 剋魯斯卡爾(Kruskal)算法
8.5 最短路徑
8.5.1 求某個頂點到其他頂點的最短路徑
8.5.2 求一對頂點之間的最短路徑
8.5.3 傳遞閉包
8.6 拓撲排序
8.7 關鍵路徑
8.8 進階導讀
習題
第9章 排序
9.1 問題定義
9.2 基本排序方法
9.2.1 插入排序
9.2.2 冒泡排序
9.2.3 選擇排序
9.3 歸並排序
9.4 快速排序
9.4.1 基本算法
9.4.2 性能
9.4.3 快速排序的一些改進策略
9.4.4 重復值
9.5 堆排序
9.5.1 堆及其基本操作
9.5.2 堆排序
9.6 希爾排序
9.7 基數排序
9.8 內部排序方法的比較
9.9 進階導讀——中的sort()函數
習題
第10章 外部排序
10.1 外部存儲設備
10.1.1 磁帶存儲設備
10.1.2 磁盤存儲設備
10.2 外排序的基本過程
10.3 磁盤文件的外排序方法
10.4 磁帶文件的外排序方法
10.4.1 平衡閤並排序
10.4.2 多階段閤並排序
10.5 進階導讀
習題
前言/序言
數據結構教程 下載 mobi epub pdf txt 電子書