書籍信息
作者: | 施伯樂 主編 | ||
定價: | 35 元 | 頁數: | 263頁 |
ISBN: | 978-7-309-08164-0/T.417 | 字數: | 404千字 |
開本: | 16 開 | 裝幀: | 平裝 |
出版日期: | 2011年6月 |
內容簡介
本書是為全國高等院校計算機及相關專業開設數據結構課程而精心組織和編著的一本實用教材,內容覆蓋了教育部計算機科學與技術專業碩士研究生入學統一考試的大綱要求。本書採用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 進階導讀
習題