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