數(shù)據(jù)結(jié)構(gòu)——C語言描述(慕課版)
定 價(jià):45 元
叢書名:21世紀(jì)高等教育計(jì)算機(jī)規(guī)劃教材
- 作者:張同珍
- 出版時(shí)間:2018/8/1
- ISBN:9787115476036
- 出 版 社:人民郵電出版社
- 中圖法分類:TP312C
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)及相關(guān)專業(yè)的基礎(chǔ)課程。它不僅具有很強(qiáng)的理論性,也具有很強(qiáng)的實(shí)踐性。本書對查找、排序進(jìn)行了分析討論,對線性結(jié)構(gòu)、樹結(jié)構(gòu)、圖結(jié)構(gòu)采用了統(tǒng)一的講解模式:邏輯結(jié)構(gòu)+物理結(jié)構(gòu)+基本操作實(shí)現(xiàn)+典型應(yīng)用,并圍繞這4個(gè)方面進(jìn)行了詳細(xì)討論,條理清晰。另外,本書除了對各部分的操作實(shí)現(xiàn)算法進(jìn)行理論分析之外,還用C語言進(jìn)行了具體實(shí)現(xiàn),從基本理論和基本技能兩個(gè)方面對學(xué)生進(jìn)行訓(xùn)練。
本書內(nèi)容豐富、條理清晰、深入淺出、講解詳盡,適合計(jì)算機(jī)類、信息類、電類、自動(dòng)控制類、數(shù)學(xué)類專業(yè)的學(xué)生使用,也適合軟件設(shè)計(jì)人員、工程技術(shù)人員參考。
互聯(lián)網(wǎng)+教材:人郵學(xué)院慕課平臺作支撐,由上海交通大學(xué)張同珍副教授錄制全套慕課。
注重思維方式的引導(dǎo):采用邏輯結(jié)構(gòu)、物理結(jié)構(gòu)、操作實(shí)現(xiàn)、典型應(yīng)用的方式組織內(nèi)容,結(jié)合五步法口訣,保證算法完整性。
C語言代碼實(shí)現(xiàn):盡可能地給出了各種結(jié)構(gòu)存儲(chǔ)、操作算法的C語言實(shí)現(xiàn)代碼,使抽象晦澀的概念和算法轉(zhuǎn)變?yōu)閷?shí)用工具。
張同珍,上海交通大學(xué)副教授,曾獲上海市優(yōu)秀教材獎(jiǎng)、上海市教學(xué)成果獎(jiǎng)、上海交通大學(xué)燭光獎(jiǎng)。主要講授“數(shù)據(jù)結(jié)構(gòu)”“程序設(shè)計(jì)”“計(jì)算引論”等課程,其中,“數(shù)據(jù)結(jié)構(gòu)”課程被評國家級精品課程、“程序設(shè)計(jì)”課程被評上海市精品課程。
第 1章 緒論 1
1.1 數(shù)據(jù)結(jié)構(gòu)的定義 2
1.1.1 數(shù)據(jù)的邏輯結(jié)構(gòu) 2
1.1.2 基本操作 2
1.1.3 抽象數(shù)據(jù)類型 3
1.1.4 數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu) 3
1.1.5 基本操作的實(shí)現(xiàn) 3
1.1.6 典型應(yīng)用 4
1.2 數(shù)據(jù)結(jié)構(gòu)的C語言實(shí)現(xiàn) 4
1.3 算法及算法分析 4
1.3.1 算法及其要求 4
1.3.2 時(shí)間復(fù)雜度的度量 5
1.3.3 空間復(fù)雜度的度量 7
1.4 小結(jié) 7
1.5 習(xí)題 8
第 2章 線性表 9
2.1 線性表的定義及ADT 10
2.2 線性表的順序存儲(chǔ)結(jié)構(gòu) 11
2.2.1 順序表 11
2.2.2 順序表基本操作的實(shí)現(xiàn) 12
2.3 線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) 17
2.3.1 單鏈表 18
2.3.2 單鏈表基本操作的實(shí)現(xiàn) 19
2.3.3 單向循環(huán)鏈表 24
2.3.4 雙鏈表、雙向循環(huán)鏈表 25
2.4 線性表的應(yīng)用 27
2.4.1 一元多項(xiàng)式的加法 27
2.4.2 字符串的存儲(chǔ)和實(shí)現(xiàn) 32
2.4.3 稀疏矩陣 42
2.5 小結(jié) 43
2.6 習(xí)題 43
第3章 棧和隊(duì)列 45
3.1 棧 46
3.1.1 棧的定義和抽象數(shù)據(jù)類型 46
3.1.2 棧的順序存儲(chǔ)及實(shí)現(xiàn) 47
3.1.3 棧的鏈?zhǔn)酱鎯?chǔ)及實(shí)現(xiàn) 51
3.2 棧的應(yīng)用 54
3.2.1 括號配對檢查 54
3.2.2 表達(dá)式計(jì)算 55
3.3 隊(duì)列 60
3.3.1 隊(duì)列的定義和抽象數(shù)據(jù)類型 60
3.3.2 隊(duì)列的順序存儲(chǔ)及實(shí)現(xiàn) 61
3.3.3 隊(duì)列的鏈?zhǔn)酱鎯?chǔ)及實(shí)現(xiàn) 64
3.3.4 優(yōu)先隊(duì)列 67
3.4 小結(jié) 68
3.5 習(xí)題 69
第4章 樹及二叉樹 70
4.1 樹的定義、術(shù)語和結(jié)構(gòu) 71
4.2 二叉樹 72
4.2.1 二叉樹的定義 72
4.2.2 二叉樹的性質(zhì) 74
4.2.3 二叉樹的存儲(chǔ)和實(shí)現(xiàn) 75
4.3 二叉樹的遍歷及實(shí)現(xiàn) 81
4.4 最優(yōu)二叉樹及其應(yīng)用 92
4.4.1 基本概念 92
4.4.2 哈夫曼算法的實(shí)現(xiàn) 94
4.4.3 哈夫曼編碼 96
4.5 等價(jià)類問題 99
4.5.1 等價(jià)關(guān)系及等價(jià)類 99
4.5.2 不相交集及其存儲(chǔ) 99
4.5.3 不相交集的基本操作 100
4.6 樹和森林 101
4.6.1 孩子兄弟表示法 101
4.6.2 樹、森林與二叉樹的轉(zhuǎn)換 102
4.6.3 樹的遍歷 104
4.6.4 森林的遍歷 105
4.7 小結(jié) 106
4.8 習(xí)題 106
第5章 圖 108
5.1 圖的基本概念 109
5.1.1 圖的概念和術(shù)語 109
5.1.2 圖的抽象數(shù)據(jù)類型 111
5.2 圖的存儲(chǔ)表示 112
5.2.1 鄰接矩陣和加權(quán)鄰接矩陣 112
5.2.2 鄰接表 119
5.2.3 多重鄰接表 127
5.2.4 十字鏈表 128
5.3 圖的遍歷和連通性 129
5.3.1 深度優(yōu)先遍歷DFS 129
5.3.2 廣度優(yōu)先遍歷BFS 132
5.3.3 圖的連通性 134
5.4 最小代價(jià)生成樹 136
5.4.1 普里姆算法 137
5.4.2 克魯斯卡爾算法 140
5.5 最短路徑問題 141
5.5.1 單源最短路徑 141
5.5.2 所有頂點(diǎn)對之間的最短路徑 145
5.6 AOV網(wǎng)和AOE網(wǎng) 150
5.6.1 拓?fù)渑判颉?50
5.6.2 關(guān)鍵路徑 153
5.7 小結(jié) 163
5.8 習(xí)題 163
第6章 查找 165
6.1 靜態(tài)查找技術(shù) 166
6.1.1 順序查找 166
6.1.2 折半查找 167
6.1.3 插值查找 168
6.2 二叉查找樹 168
6.2.1 二叉查找樹的定義 168
6.2.2 基本操作 169
6.2.3 順序統(tǒng)計(jì) 174
6.3 平衡二叉查找樹(AVL樹) 175
6.3.1 插入 176
6.3.2 刪除 180
6.3.3 最大高度 181
6.4 紅黑樹 182
6.4.1 插入操作 183
6.4.2 刪除操作 188
6.5 B樹和B+樹 192
6.5.1 B樹 192
6.5.2 B樹的查找分析 193
6.5.3 插入操作 194
6.5.4 刪除操作 195
6.5.5 B+樹 197
6.6 哈希(hash)方法 198
6.6.1 常用的哈希函數(shù) 198
6.6.2 線性探測法 199
6.6.3 二次探測法 200
6.6.4 鏈地址法 200
6.7 小結(jié) 200
6.8 習(xí)題 201
第7章 排序 202
7.1 引言 203
7.2 冒泡排序 203
7.3 插入排序 205
7.3.1 簡單插入排序 205
7.3.2 折半插入排序 206
7.3.3 希爾排序 206
7.4 歸并排序 208
7.5 快速排序 213
7.6 選擇排序和堆排序 216
7.6.1 選擇排序 216
7.6.2 堆排序 218
7.6.3 堆和優(yōu)先隊(duì)列 224
7.7 基數(shù)排序 225
7.7.1 多關(guān)鍵字排序 225
7.7.2 口袋排序法 225
7.8 內(nèi)排序算法的比較 229
7.9 外排序 230
7.9.1 外排序處理過程 230
7.9.2 2k路歸并 230
7.9.3 初始?xì)w并段 232
7.9.4 最佳歸并樹 233
7.10 小結(jié) 233
7.11 習(xí)題 234