數(shù)據(jù)結(jié)構(gòu)與算法
定 價:53 元
叢書名:普通高等教育計算機類系列教材
- 作者:主編:鄧丹君 祁文青
- 出版時間:2020/10/1
- ISBN:9787111659839
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP311.12
- 頁碼:312
- 紙張:
- 版次:
- 開本:16開
本教材詳細講述了數(shù)據(jù)結(jié)構(gòu)的含義,以及線性結(jié)構(gòu)、樹結(jié)構(gòu)和圖結(jié)構(gòu)中的數(shù)據(jù)描述、存儲、處理的方法,并對查找和排序的相關(guān)算法做了詳細探討。
本教材包括3大部分,共8章。第1部分:數(shù)據(jù)結(jié)構(gòu)的基本概念(第1章);第2部分:基本的數(shù)據(jù)結(jié)構(gòu),包括線性結(jié)構(gòu)——線性表、棧和隊列、串、數(shù)組與廣義表(第2~4章),非線性結(jié)構(gòu)——樹、圖(第5、6章);第3部分:基本技術(shù),包括查找技術(shù)與排序技術(shù)(第7、8章)。本書內(nèi)容采用“案例導(dǎo)引”→“知識講解”→“案例實現(xiàn)”的框架結(jié)構(gòu),通過選用應(yīng)用性強且難度適中的案例,用通俗易懂的語言,由淺入深,帶你走進數(shù)據(jù)描述、數(shù)據(jù)存儲和處理的數(shù)據(jù)結(jié)構(gòu)世界,書中還講述了常見的算法,比較了各類算法在效率上的優(yōu)劣,為后期其他課程的學習打下基礎(chǔ)。
本教材可作為普通高等院校計算機和信息類相關(guān)專業(yè)“數(shù)據(jù)結(jié)構(gòu)與算法”課程的教材。
本教材配有以下教學資源:電子課件、源代碼、演示示例、教學大綱、習題庫及其答案等,歡迎選用本書作教材的教師登錄www.cmpedu.com注冊下載,或發(fā)郵件至jinacmp@163.com索取。
前言
第1章緒論
1.1數(shù)據(jù)結(jié)構(gòu)的研究對象
1.1.1數(shù)據(jù)的邏輯結(jié)構(gòu)
1.1.2數(shù)據(jù)的存儲結(jié)構(gòu)
1.1.3數(shù)據(jù)的運算
1.2算法和算法分析
1.2.1算法及其特征
1.2.2算法描述
1.2.3算法分析
本章總結(jié)
習題1
第2章線性表
2.1線性表的概念及運算
2.1.1案例導(dǎo)引
2.1.2線性表的邏輯結(jié)構(gòu)
2.1.3線性表的基本運算
2.2線性表的順序存儲和實現(xiàn)
2.2.1案例導(dǎo)引
2.2.2順序表的存儲結(jié)構(gòu)
2.2.3順序表基本運算的實現(xiàn)
2.2.4案例實現(xiàn)——學生成績表的順序存儲
2.2.5順序表的特點
2.3線性表的鏈式存儲和實現(xiàn)
2.3.1案例導(dǎo)引
2.3.2單鏈表的存儲結(jié)構(gòu)
2.3.3單鏈表基本運算的實現(xiàn)
2.3.4案例實現(xiàn)——學生成績表的鏈式存儲
2.3.5循環(huán)鏈表
2.3.6雙向鏈表
本章總結(jié)
習題2
第3章棧和隊列
3.1棧
3.1.1案例導(dǎo)引
3.1.2棧的定義及運算
3.1.3棧的存儲結(jié)構(gòu)及運算實現(xiàn)
3.1.4案例實現(xiàn)——回文的判斷
3.2隊列
3.2.1案例導(dǎo)引
3.2.2隊列的定義及運算
3.2.3隊列的存儲結(jié)構(gòu)及運算實現(xiàn)
3.2.4案例實現(xiàn)——舞伴問題
本章總結(jié)
習題3
數(shù)據(jù)結(jié)構(gòu)與算法目錄第4章串、數(shù)組、矩陣及廣義表
4.1串
4.1.1案例導(dǎo)引
4.1.2串的基本概念
4.1.3串的基本運算
4.1.4串的存儲結(jié)構(gòu)
4.1.5串的模式匹配
4.1.6案例實現(xiàn)——串的模式匹配
4.2矩陣的壓縮存儲
4.2.1案例導(dǎo)引
4.2.2數(shù)組
4.2.3特殊矩陣
4.2.4稀疏矩陣
4.2.5案例實現(xiàn)——矩陣的壓縮存儲
4.3廣義表
4.3.1案例導(dǎo)引
4.3.2廣義表的定義
4.3.3廣義表的運算
4.3.4廣義表的存儲
4.3.5廣義表的基本算法
4.3.6案例實現(xiàn)——廣義表的基本操作
本章總結(jié)
習題4
第5章樹和二叉樹
5.1樹的基本術(shù)語
5.2二叉樹
5.2.1案例導(dǎo)引
5.2.2二叉樹的定義
5.2.3二叉樹的性質(zhì)
5.2.4二叉樹的存儲結(jié)構(gòu)
5.2.5二叉樹的基本操作
5.2.6遍歷二叉樹
5.2.7線索二叉樹
5.2.8案例實現(xiàn)——二叉樹的基本操作
5.3樹和森林
5.3.1案例導(dǎo)引
5.3.2樹的存儲結(jié)構(gòu)
5.3.3樹(森林)與二叉樹的相互轉(zhuǎn)換
5.3.4樹和森林的遍歷
5.3.5案例實現(xiàn)——樹的基本操作
5.4哈夫曼樹及其應(yīng)用
5.4.1案例導(dǎo)引
5.4.2哈夫曼樹的定義
5.4.3哈夫曼樹的構(gòu)造
5.4.4哈夫曼樹在編碼中的應(yīng)用
5.4.5案例實現(xiàn)——哈夫曼編碼
本章總結(jié)
習題5
第6章圖
6.1圖的概念
6.1.1圖的基本概念
6.1.2圖的基本術(shù)語
6.1.3圖的基本操作
6.2圖的存儲結(jié)構(gòu)
6.2.1案例導(dǎo)引
6.2.2圖的鄰接矩陣表示法
6.2.3鄰接矩陣表示的圖相關(guān)算法
6.2.4案例實現(xiàn)——圖的鄰接矩陣存儲表示
6.2.5圖的鄰接表表示法
6.2.6鄰接表表示的圖相關(guān)算法
6.2.7案例實現(xiàn)——圖的鄰接表存儲表示
6.3圖的遍歷
6.3.1案例導(dǎo)引
6.3.2深度優(yōu)先遍歷
6.3.3廣度優(yōu)先遍歷
6.3.4案例實現(xiàn)——圖的遍歷
6.4最小生成樹
6.4.1案例導(dǎo)引
6.4.2Prim算法
6.4.3案例實現(xiàn)——Prim算法
6.4.4Kruskal算法
6.5最短路徑
6.5.1案例導(dǎo)引
6.5.2單源點最短路徑
6.5.3案例實現(xiàn)——Dijkstra算法
6.5.4每對頂點之間的最短路徑
6.6拓撲排序
6.6.1案例導(dǎo)引
6.6.2拓撲排序的概念
6.6.3拓撲排序的算法
6.6.4案例實現(xiàn)——拓撲排序
6.7關(guān)鍵路徑
6.7.1案例導(dǎo)引
6.7.2關(guān)鍵路徑的概念
6.7.3關(guān)鍵路徑算法
6.7.4案例實現(xiàn)關(guān)鍵路徑
本章總結(jié)
習題6
第7章查找
7.1靜態(tài)查找表
7.1.1案例導(dǎo)引
7.1.2順序查找
7.1.3有序表的二分查找
7.1.4索引順序表的查找
7.1.5案例實現(xiàn)——順序查找
7.2動態(tài)查找表
7.2.1案例導(dǎo)引
7.2.2二叉排序樹
7.2.3平衡二叉樹
7.2.4B樹
7.2.5案例實現(xiàn)——二叉排序樹
7.3哈希表
7.3.1案例導(dǎo)引
7.3.2哈希表的概念
7.3.3哈希函數(shù)的構(gòu)造方法
7.3.4處理沖突的方法
7.3.5哈希表的運算
7.3.6案例實現(xiàn)——哈希表
本章總結(jié)
習題7
第8章排序
8.1排序的基本概念
8.2插入排序
8.2.1案例導(dǎo)引
8.2.2直接插入排序
8.2.3折半插入排序
8.2.4希爾排序
8.2.5案例實現(xiàn)——希爾排序
8.3交換排序
8.3.1案例導(dǎo)引
8.3.2冒泡排序
8.3.3快速排序
8.3.4案例實現(xiàn)——快速排序
8.4選擇排序
8.4.1案例導(dǎo)引
8.4.2直接選擇排序
8.4.3堆排序
8.4.4案例實現(xiàn)——堆排序
8.5歸并排序
8.5.1案例導(dǎo)引
8.5.2歸并排序的過程
8.5.3案例實現(xiàn)——歸并排序
8.6基數(shù)排序
8.6.1案例導(dǎo)引
8.6.2多關(guān)鍵字的排序
8.6.3鏈式基數(shù)排序
8.6.4案例實現(xiàn)——基數(shù)排序
本章總結(jié)
習題8
參考文獻