數(shù)據(jù)結(jié)構(gòu)與算法(JAVA版) 第2版 版權(quán)信息
- ISBN:9787111730149
- 條形碼:9787111730149 ; 978-7-111-73014-9
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>
數(shù)據(jù)結(jié)構(gòu)與算法(JAVA版) 第2版 本書特色
配套資源豐富:34個知識微課點(diǎn)視頻、電子課件;強(qiáng)調(diào)應(yīng)用性知識,加強(qiáng)應(yīng)用數(shù)據(jù)結(jié)構(gòu)的能力的培養(yǎng)
數(shù)據(jù)結(jié)構(gòu)與算法(JAVA版) 第2版 內(nèi)容簡介
《數(shù)據(jù)結(jié)構(gòu)與算法(Java版) 第2版》詳細(xì)介紹了線性結(jié)構(gòu)、樹結(jié)構(gòu)和圖結(jié)構(gòu)中的數(shù)據(jù)表示及數(shù)據(jù)處理的方法,并對查找和排序兩種重要的數(shù)據(jù)處理技術(shù)做了詳細(xì)的探討。書中對每一類數(shù)據(jù)結(jié)構(gòu)的分析均按照“邏輯結(jié)構(gòu)—存儲結(jié)構(gòu)—基本運(yùn)算的實(shí)現(xiàn)—時空性分析—典型例題—知識點(diǎn)小結(jié)—練習(xí)題—實(shí)驗(yàn)題”的順序來進(jìn)行,算法全部采用Java語言描述,全部程序均經(jīng)過調(diào)試。本書語言敘述通俗易懂,由淺入深,算法可讀性好,應(yīng)用性強(qiáng)。書中還配有大量算法設(shè)計的例子,便于讀者理解和掌握數(shù)據(jù)結(jié)構(gòu)中數(shù)據(jù)表示和數(shù)據(jù)處理的方法。
《數(shù)據(jù)結(jié)構(gòu)與算法(Java版) 第2版》可作為高等院校計算機(jī)和信息類相關(guān)專業(yè)“數(shù)據(jù)結(jié)構(gòu)”課程的教材,也可作為高職高專同類專業(yè)的教學(xué)用書及各類工程技術(shù)人員的參考書。
數(shù)據(jù)結(jié)構(gòu)與算法(JAVA版) 第2版 目錄
目 錄
第2版前言
第1版前言
第1章 緒論1
1.1 引言1
1.1.1 學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的原因1
1.1.2 數(shù)據(jù)結(jié)構(gòu)課程的內(nèi)容4
1.2 數(shù)據(jù)結(jié)構(gòu)的概念4
1.2.1 基本概念和術(shù)語5
1.2.2 抽象數(shù)據(jù)類型7
1.3 數(shù)據(jù)結(jié)構(gòu)的表示方法8
1.3.1 數(shù)據(jù)結(jié)構(gòu)的C語言描述8
1.3.2 數(shù)據(jù)結(jié)構(gòu)的C++語言描述9
1.3.3 數(shù)據(jù)結(jié)構(gòu)的Java語言描述10
1.3.4 數(shù)據(jù)結(jié)構(gòu)的Python語言描述11
1.4 算法11
1.4.1 算法及其特性11
1.4.2 算法的描述12
1.4.3 算法的性能分析與度量12
1.5 遞歸15
1.5.1 遞歸的概念15
1.5.2 遞歸調(diào)用的實(shí)現(xiàn)原理16
1.5.3 遞歸轉(zhuǎn)換為非遞歸18
1.5.4 遞歸應(yīng)用舉例19
1.6 本章小結(jié)20
練習(xí)題21
實(shí)驗(yàn)題22
第2章 線性結(jié)構(gòu)24
2.1 引言24
2.1.1 問題提出25
2.1.2 線性表的定義25
2.1.3 線性表的基本運(yùn)算26
2.2 線性表的順序存儲與實(shí)現(xiàn)26
2.2.1 順序表27
2.2.2 順序表上基本運(yùn)算的實(shí)現(xiàn)28
2.2.3 順序表應(yīng)用舉例31
2.3 線性表的鏈?zhǔn)酱鎯εc實(shí)現(xiàn)32
2.3.1 單鏈表32
2.3.2 單鏈表上基本運(yùn)算的實(shí)現(xiàn)34
2.3.3 循環(huán)鏈表39
2.3.4 雙向鏈表40
2.3.5 鏈表應(yīng)用舉例41
2.4 順序表和鏈表的比較44
2.5 堆棧44
2.5.1 堆棧的定義及基本運(yùn)算45
2.5.2 堆棧的存儲及運(yùn)算實(shí)現(xiàn)45
2.5.3 堆棧的應(yīng)用舉例49
2.6 隊(duì)列57
2.6.1 隊(duì)列的定義及基本運(yùn)算57
2.6.2 隊(duì)列的存儲及運(yùn)算實(shí)現(xiàn)58
2.6.3 隊(duì)列的應(yīng)用舉例63
2.7 其他線性結(jié)構(gòu)及擴(kuò)展65
2.7.1 字符串65
2.7.2 數(shù)組69
2.7.3 特殊矩陣72
2.8 本章小結(jié)78
練習(xí)題80
實(shí)驗(yàn)題82
第3章 樹結(jié)構(gòu)86
3.1 引言86
3.1.1 問題提出86
3.1.2 相關(guān)概念88
3.2 二叉樹90
3.2.1 二叉樹的基本運(yùn)算90
3.2.2 二叉樹的主要性質(zhì)91
3.2.3 二叉樹的存儲92
3.2.4 二叉樹基本運(yùn)算的實(shí)現(xiàn)96
3.3 二叉樹的遍歷97
3.3.1 用遞歸方法實(shí)現(xiàn)二叉樹的三種遍歷98
3.3.2 用非遞歸方法實(shí)現(xiàn)二叉樹的三種遍歷99
3.3.3 按層次遍歷二叉樹102
3.4 二叉樹遍歷的應(yīng)用103
3.4.1 構(gòu)造二叉樹的二叉鏈表存儲103
3.4.2 在二叉樹中查找值為x的數(shù)據(jù)元素104
3.4.3 統(tǒng)計給定二叉樹中葉子結(jié)點(diǎn)的數(shù)目104
3.4.4 由遍歷序列恢復(fù)二叉樹105
3.5 線索二叉樹106
3.5.1 線索二叉樹的定義及其結(jié)構(gòu)107
3.5.2 線索二叉樹的創(chuàng)建109
3.5.3 線索二叉樹的遍歷110
3.6 *優(yōu)二叉樹112
3.6.1 *優(yōu)二叉樹的概念112
3.6.2 *優(yōu)二叉樹的構(gòu)造114
3.6.3 *優(yōu)二叉樹的應(yīng)用—哈夫曼
編碼116
3.7 樹118
3.7.1 樹的基本運(yùn)算118
3.7.2 樹的表示119
3.7.3 樹的存儲119
3.7.4 樹和森林與二叉樹之間的轉(zhuǎn)換122
3.7.5 樹或森林的遍歷125
3.7.6 樹的應(yīng)用126
3.8 本章小結(jié)127
練習(xí)題129
實(shí)驗(yàn)題131
第4章 圖結(jié)構(gòu)134
4.1 引言134
4.1.1 問題提出134
4.1.2 相關(guān)概念135
4.1.3 圖的基本運(yùn)算137
4.2 圖的存儲137
4.2.1 鄰接矩陣138
4.2.2 鄰接表140
4.3 圖的遍歷142
4.3.1 深度優(yōu)先搜索143
4.3.2 廣度優(yōu)先搜索144
4.3.3 遍歷圖的簡單應(yīng)用146
4.4 *小生成樹147
4.4.1 生成樹和生成森林147
4.4.2 *小生成樹算法分析148
4.4.3 構(gòu)造*小生成樹的Prim算法149
4.4.4 構(gòu)造*小生成樹的Kruskal算法151
4.5 *短路徑154
4.5.1 單源點(diǎn)*短路徑—Dijkstra
算法154
4.5.2 每一對頂點(diǎn)之間的*短路徑157
4.6 拓?fù)渑判蚺c關(guān)鍵路徑160
4.6.1 有向無環(huán)圖的概念160
4.6.2 AOV網(wǎng)與拓?fù)渑判?61
4.6.3 AOE網(wǎng)與關(guān)鍵路徑165
4.7 本章小結(jié)170
練習(xí)題172
實(shí)驗(yàn)題173
第5章 查找技術(shù)175
5.1 引言175
5.1.1 問題提出175
5.1.2 相關(guān)概念176
5.2 線性表查找177
5.2.1 順序查找177
5.2.2 順序存儲的有序表查找178
5.3 樹結(jié)構(gòu)查找181
5.3.1 二叉排序樹181
5.3.2 平衡二叉樹187
5.4 散列表查找193
5.4.1 基本概念193
5.4.2 散列函數(shù)的構(gòu)造方法194
5.4.3 處理沖突的方法195
5.4.4 散列表的性能分析197
5.5 查找方法的比較199
5.6 本章小結(jié)199
練習(xí)題200
實(shí)驗(yàn)題201
第6章 排序技術(shù)204
6.1 引言204
6.1.1 問題提出204
6.1.2 相關(guān)概念205
6.2 插入排序206
6.2.1 直接插入排序206
6.2.2 折半插入排序207
6.2.3 希爾排序208
6.3 交換排序209
6.3.1 冒泡排序209
6.3.2 快速排序210
6.4 選擇排序212
6.4.1 簡單選擇排序212
6.4.2 樹結(jié)構(gòu)選擇排序213
6.4.3 堆排序214
6.5 歸并排序217
6.6 基數(shù)排序219
6.6.1 多關(guān)鍵碼排序219
6.6.2 鏈?zhǔn)交鶖?shù)排序220
6.7 排序方法比較221
6.7.1 性能比較221
6.7.2 不同排序方法的適用情況222
6.8 本章小結(jié)223
練習(xí)題224
實(shí)驗(yàn)題224
第7章 擴(kuò)展應(yīng)用舉例226
7.1 求*大子段和226
7.1.1 問題描述226
7.1.2 問題分析與解決226
7.2 表達(dá)式樹的構(gòu)造229
7.2.1 問題描述229
7.2.2 問題分析與解決229
7.3 由等價關(guān)系求劃分232
7.3.1 問題描述232
7.3.2 問題分析與解決233
7.4 本章小結(jié)235
練習(xí)題235
實(shí)驗(yàn)題236
參考文獻(xiàn)237
展開全部
數(shù)據(jù)結(jié)構(gòu)與算法(JAVA版) 第2版 作者簡介
羅文劼,1991年7月至今 河北大學(xué)計算機(jī)系教授計算機(jī)專業(yè)的相關(guān)課程,主講的本科生課程:數(shù)據(jù)結(jié)構(gòu)、離散數(shù)學(xué)、高級程序設(shè)計語言、匯編語言、單片機(jī)原理、專業(yè)英語、系統(tǒng)結(jié)構(gòu)、微機(jī)原理、軟件工程、數(shù)據(jù)庫原理等。主講研究生課程:算法分析與設(shè)計。