《21世紀高等院校規劃教材·數據結構(C++版)》從軟體開發設計的角度出發,按照面向對象的程式設計思想,詳細介紹了線性表、棧和佇列、串、多維數組和廣義表、樹、圖等不同的數據結構,以及這些數據結構在計算機中的存儲表示和不同存儲表示上的算法實現。每個算法都用C++語言進行描述,並全部上機在VC++6.0環境下運行通過。最後兩章,介紹了計算機中常用的兩種運算:查找和排序,詳細介紹了不同的查找、排序運算的實現及各種算法的效率分析。
基本介紹
- 書名:21世紀高等院校規劃教材•數據結構
- 出版社:中國水利水電出版社
- 語種:簡體中文
- ISBN:7508425677
- 作者:李根強
- 出版日期:2005年1月1日
- 開本:16
- 品牌:中國水利水電出版社
內容簡介
圖書目錄
前言
第1章 緒論
本章學習目標
1.1 什麼是數據結構
1.1.1 數據結構示例
1.1.2 基本術語
1.1.3 數據結構
1.2 算法描述
1.2.1 基本概念
1.2.2 算法描述
1.3 算法分析
1.3.1 時間複雜度
1.3.2 空間複雜度
本章小結
習題一
第2章 線性汞
本章學習目標
2.1 線性表的定義及其運算
2.1.1 線性表的定義
2.1.2 線性表的運算
2.1.3 線性表的抽象數據類型描述
2.2 線性表的順序存儲結構
2.2.1 順序表結構
2.2.2 順序表運算
2.2.3 順序表存儲空間的動態分配
2.3 線性表的鏈式存儲結構
2.3.1 單鍊表結構
2.3.2 單鍊表運算
2.3.3 循環鍊表結構
2.3.4 雙向鍊表結構
2. 4 一元多項式的表示及相加
2.4.1 一元多項式的表示
2.4.2 一元多項式的相加
2.5 順序表與鍊表的比較
2.6 算法套用舉例
本章小結
習題二
第3章 棧和佇列
本章學習目標
3.1 棧
3.1.1 棧的定義
3.1.2 棧的運算
3.1.3 棧的抽象數據類型描述
3.1.4 順序棧
3.1.5 鏈棧
3.1.6 棧的套用
3.2 佇列
3.2.1 佇列的定義
3.2.2 佇列的基本運算
3.2.3 佇列的抽象數據類型描述
3.2.4 循環佇列
3.2.5 鏈佇列
3.2.6 佇列的套用
本章小結
習題三
第4章 串
本章學習目標
4.1 串的定義及運算
4.1.1 基本概念
4.1.2 串的運算
4.1.3 串的抽象數據類型描述
4.2 串的存儲結構
4.2.1 順序存儲
4.2.2 鏈式存儲
4.2.3 索引存儲
4.3 串運算的實現
4.3.1 串插入
4.3.2 串刪除
4.3.3 子串定位
4.4 串操作套用舉例
4.4.1 文本編輯
4.4.2 建立詞索引表
本章小結
習題四
第5章 多維數組和廣義表
本章學習目標
5.1 多維數組
5.1.1 多維數組的概念
5.1.2 多維數組在計算機內的存儲
5.2 多維數組的存儲結構
5.2.1 行優先順序
5.2.2 列優先順序
5.3 特殊矩陣及其壓縮存儲
5.3.1 特殊矩陣
5.3.2 壓縮存儲
5.4 稀疏矩陣
5.4.1 稀疏矩陣的存儲
5.4.2 稀疏矩陣的運算
5.5 廣義表
5.5.1 基本概念
5.5.2 存儲結構
5.5.3 基本運算
本章小結
習題五
第6章 樹
本章學習目標
6.1 樹的基本概念
6.1.1 樹的定義
6.1.2 基本術語
6.1.3 樹的表示
6.1.4 樹的性質
6.2 二叉樹
6.2.1 二叉樹的定義
6.2.2 二叉樹的性質
6. 2. 3 二叉樹的存儲結構
6.2.4 二叉樹的抽象數據類型
6.3 遍歷二叉樹
6.3.1 前根遍歷
6.3.2 中根遍歷
6.3.3 後根遍歷
6.3.4 遍歷算法套用舉例
6.4 線索二叉樹
6.4.1 線索的概念
6.4.2 線索的描述
6.4.3 線索的算法實現
6.4.4 線索二叉樹上的運算
6.5 樹和森林
6.5.1 樹的存儲結構
6.5.2 樹、森林和二叉樹的轉換
6.5.3 樹和森林的遍歷
6.6 哈夫曼樹
6.6.1 基本術語
6.6.2 哈夫曼樹簡介
6.6.3 哈夫曼樹的套用
本章小結
習題六
第7章 圖
本章學習目標
7.1 圖的基本概念
7.1.1 圖的定義
7.1.2 圖的基本術語
7.2 圖的存儲結構
7.2.1 鄰接矩陣
7.2.2 鄰接表
7.2.3 鄰接多重表
7.3 圖的遍歷
7.3.1 深度優先搜尋遍歷
7.3.2 廣度優先搜尋遍歷
7.4 生成樹和最小生成樹
7.4.1 基本概念
7.4.2 普里姆(prim)算法
7.4. 3 克魯斯卡爾(kruskal)算法
7.5 最短路徑
7.5.1 單源點最短路徑
7.5.2 所有頂點對之間的最短路徑
7.6 有向無環圖及其套用
7.6.1 拓撲排序
7.6.2 關鍵路徑
本章小結
習題七
第8章 查找
本章學習目標
8.1 查找的基本概念
8.2 線性表的查找
8.2.1 順序查找
8.2.2 二分查找
8.2.3 索引查找
8.2.4 分塊查找
8.3 樹表查找
8.3.1 二叉排序樹查找
8.3.2 平衡二叉樹查找
8.3.3 B樹及B樹上的查找
8.3.4 鍵樹
8.4 散列查找
8.4.1 基本概念
8.4.2 散列函式的構造
8.4.3 解決衝突的方法
8.4.4 散列查找算法實現
8.4.5 散列查找的性能分析
本章小結
習題八
第9章 排序
本章學習目標
9.1 基本概念
9.1.1 排序介紹
9.1.2 基本概念
9.2 插入排序
9.2.1 直接插入排序
9.2.3 希爾排序
9.3 交換排序
9.3.1 冒泡排序
9.3.2 快速排序
9.4 選擇排序
9.4.1 直接選擇排序
9.4.2 樹形選擇排序
9.4.3 堆排序
9.5 歸併排序
9.5.1 二路歸併排序
9.5.2 多路歸併排序
9.6 分配排序
9.6.1 多關鍵字排序
9.6.2 鏈式基數排序
9.7 各種內排序方法的比較和選擇
9.7.1 各種內排序方法的比較
9.7.2 各種內排序方法的選擇
本章小結
習題九
參考文獻