《圖解Java數據結構與算法(微課視頻版)》是一本清華大學出版社出版的圖書,作者是陳銳 黃敏 張世征。
基本介紹
- 中文名:圖解Java數據結構與算法(微課視頻版)
- 作者:陳銳 黃敏 張世征
- 出版時間:2023年11月
- 出版社:清華大學出版社
- ISBN:9787302648031
- 定價:79 元
- 開本:16 開
- 裝幀:平裝
作者簡介,內容簡介,圖書目錄,
作者簡介
陳銳,鄭州輕工業大學校聘副教授、碩士生導師,博士。中國人工智慧學會情感智慧型專委會委員、中國圖象圖形學學會人機互動專委會委員。有多年教學實踐經驗,熟悉數據結構與算法等內容,出版相關圖書:《Python數據結構與算法(微課視頻版)》《Python機器學習實踐》《數據結構習題精解(C語言實現+微課視頻)》《數據結構(C語言實現)》《零基礎學數據結構》《C/C++函式與算法速查大辭典》。
內容簡介
本書系統、全面地介紹數據結構的基礎理論與算法設計,精選數據結構考研習題和各類典型例題進行講解,案例和課後習題豐富,突出對數據結構算法實踐能力的培養。本書算法均採用Java語言實現,示例代碼可直接上機運行。《圖解Java數據結構與算法:微課視頻版》配套資源豐富,包括示例源碼、PPT課件、教學視頻、教學大綱、習題與答案等。
本書共分11章,內容包括數據結構與算法概述,線性表,棧和佇列,串、數組和廣義表,樹,圖,查找算法,排序算法,分治算法,貪心算法,回溯算法。
本書適合Java數據結構初學者,可作為高等院校計算機、軟體工程等相關專業數據結構課程的教材,也可作為計算機軟體開發、準備計算機專業研究生考試、參加各類算法競賽、準備計算機軟體資格考試的人員的參考用書。
圖書目錄
目 錄
第1章 數據結構與算法概述 1
1.1 為什麼要學習數據結構 1
1.2 基本概念和術語 2
1.3 數據的邏輯結構與存儲結構 4
1.3.1 邏輯結構 4
1.3.2 存儲結構 5
1.4 抽象數據類型及其描述 6
1.4.1 什麼是抽象數據類型 6
1.4.2 抽象數據類型的描述 6
1.5 算法 8
1.5.1 數據結構與算法的關係 9
1.5.2 什麼是算法 9
1.5.3 算法的5個特性 9
1.5.4 算法的描述 10
1.6 算法分析 11
1.6.1 算法設計的4個目標 11
1.6.2 算法效率評價 12
1.6.3 算法的時間複雜度 13
1.6.4 算法的空間複雜度 16
1.7 學好數據結構的秘訣 17
1.8 小結 19
第2章 線性表 20
2.1 線性表的定義及抽象數據類型 20
2.1.1 線性表的定義 20
2.1.2 線性表的抽象數據類型 21
2.2 線性表的順序表示與實現 22
2.2.1 線性表的順序存儲 22
2.2.2 順序表的基本運算 23
2.2.3 基本操作性能分析 26
2.2.4 順序表套用舉例 27
2.3 線性表的鏈式表示與實現 30
2.3.1 單鍊表的存儲結構 30
2.3.2 單鍊表上的基本運算 32
2.3.3 單鍊表套用舉例 36
2.3.4 循環單鍊表 38
2.3.5 雙向鍊表 41
2.4 一元多項式的表示與相乘 44
2.4.1 一元多項式的表示 44
2.4.2 一元多項式相乘 45
2.5 小結 49
第3章 棧與佇列 50
3.1 棧的表示與實現 50
3.1.1 棧的定義 50
3.1.2 棧的抽象數據類型 51
3.1.3 順序棧 52
3.1.4 鏈棧 56
3.2 棧的套用 59
3.2.1 數制轉換 59
3.2.2 行編輯程式 60
3.2.3 算術表達式求值 61
3.3 棧與遞歸 67
3.3.1 遞歸 68
3.3.2 消除遞歸 71
3.4 佇列的表示與實現 73
3.4.1 佇列的定義 73
3.4.2 佇列的抽象數據類型 73
3.4.3 順序佇列 74
3.4.4 順序循環佇列 76
3.4.5 雙端佇列 79
3.4.6 鏈式佇列 79
3.4.7 鏈式佇列的實現 81
3.5 佇列在楊輝三角中的套用 82
3.5.1 什麼是楊輝三角 82
3.5.2 構造佇列 83
3.5.3 楊輝三角佇列的實現 83
3.6 小結 85
第4章 串、數組與廣義表 86
4.1 串的定義及抽象數據類型 86
4.1.1 什麼是串 86
4.1.2 串的抽象數據類型 87
4.2 串的存儲表示 88
4.2.1 串的順序存儲結構 88
4.2.2 串的鏈式存儲結構 89
4.3 串的模式匹配 90
4.3.1 樸素模式匹配算法——Brute-Force 90
4.3.2 改進算法—KMP算法 92
4.3.3 模式匹配套用舉例 98
4.4 數組的定義及抽象數據類型 99
4.4.1 數組的基本概念 99
4.4.2 數組的抽象數據類型 100
4.4.3 數組的順序存儲結構 100
4.4.4 特殊矩陣的壓縮存儲 101
4.4.5 稀疏矩陣的壓縮存儲及典型套用 104
4.5 廣義表 111
4.5.1 什麼是廣義表 111
4.5.2 廣義表的抽象數據類型 112
4.5.3 廣義表的頭尾鍊表表示 113
4.5.4 廣義表的擴展線性鍊表表示 113
4.6 小結 115
第5章 樹和二叉樹 116
5.1 樹的定義和抽象數據類型 116
5.1.1 樹的定義 116
5.1.2 樹的邏輯表示 118
5.2 二叉樹的定義、性質和抽象數據類型 118
5.2.1 二叉樹的定義 119
5.2.2 二叉樹的性質 120
5.2.3 二叉樹的抽象數據類型 122
5.2.4 二叉樹的存儲表示 123
5.3 二叉樹的遍歷 125
5.3.1 二叉樹遍歷的定義 126
5.3.2 二叉樹的先序遍歷 126
5.3.3 二叉樹的中序遍歷 128
5.3.4 二叉樹的後序遍歷 130
5.4 二叉樹的線索化 132
5.4.1 二叉樹的線索化定義 132
5.4.2 二叉樹的線索化算法實現 133
5.4.3 線索二叉樹的遍歷 135
5.4.4 線索二叉樹的套用舉例 137
5.5 樹、森林與二叉樹 139
5.5.1 樹的存儲結構 139
5.5.2 樹轉換為二叉樹 142
5.5.3 森林轉換為二叉樹 143
5.5.4 二叉樹轉換為樹和森林 143
5.5.5 樹和森林的遍歷 144
5.6 並查集 145
5.6.1 並查集的定義 145
5.6.2 並查集的實現 146
5.6.3 並查集的套用 149
5.7 哈夫曼樹 151
5.7.1 哈夫曼樹的定義 151
5.7.2 哈夫曼編碼 152
5.7.3 哈夫曼編碼算法的實現 153
5.8 小結 158
第6章 圖 159
6.1 圖的定義與相關概念 159
6.1.1 圖的定義 159
6.1.2 圖的相關概念 160
6.1.3 圖的抽象數據類型 162
6.2 圖的存儲結構 163
6.2.1 鄰接矩陣表示法 163
6.2.2 鄰接表表示法 168
6.2.3 十字鍊表 172
6.2.4 鄰接多重表 173
6.3 圖的遍歷 174
6.3.1 圖的深度優先遍歷 174
6.3.2 圖的廣度優先遍歷 178
6.4 圖的連通性問題 179
6.4.1 無向圖的連通分量與生成樹 180
6.4.2 最小生成樹 181
6.5 有向無環圖 187
6.5.1 AOV網與拓撲排序 187
6.5.2 AOE網與關鍵路徑 190
6.6 最短路徑 196
6.6.1 從某個頂點到其他頂點的最短路徑 196
6.6.2 每一對頂點之間的最短路徑 202
6.7 小結 206
第7章 查找 208
7.1 查找的基本概念 208
7.2 靜態查找 209
7.2.1 順序表的查找 209
7.2.2 有序順序表的查找 211
7.2.3 索引順序表的查找 213
7.3 動態查找 215
7.3.1 二叉排序樹 215
7.3.2 平衡二叉樹 221
7.4 B-樹與B+樹 227
7.4.1 B-樹 227
7.4.2 B+樹 233
7.5 哈希表 233
7.5.1 哈希表的定義 234
7.5.2 哈希函式的構造方法 234
7.5.3 處理衝突的方法 235
7.5.4 哈希表的查找與分析 237
7.5.5 哈希表套用舉例 238
7.6 小結 242
第8章 排序 243
8.1 排序的基本概念 243
8.2 插入排序 244
8.2.1 直接插入排序 244
8.2.2 折半插入排序 246
8.2.3 希爾排序 246
8.2.4 插入排序套用舉例 247
8.3 選擇排序 248
8.3.1 簡單選擇排序 248
8.3.2 堆排序 249
8.4 交換排序 254
8.4.1 冒泡排序 254
8.4.2 快速排序 256
8.4.3 交換排序套用舉例 258
8.5 歸併排序 261
8.6 基數排序 263
8.6.1 基數排序算法 263
8.6.2 基數排序套用舉例 266
8.7 小結 269
第9章 分治算法 271
9.1 分治算法的基本思想 271
9.2 求最大子序列的和 274
9.3 求x的n次冪 277
9.4 眾數問題 278
9.5 求n個數中的最大者和最小者 280
9.6 整數劃分問題 283
9.7 大整數乘法 285
9.8 小結 290
第10章 貪心算法 291
10.1 貪心算法的思想 291
10.2 找零錢問題 293
10.3 背包問題 295
10.4 刪數問題 299
10.5 加油站問題 301
10.6 小結 302
第11章 回溯算法 303
11.1 回溯算法的基本思想 303
11.1.1 問題的解空間 304
11.1.2 回溯算法的基本思想 305
11.2 裝載問題 307
11.3 旅行商問題 310
11.4 和式分解問題 314
11.5 小結 317
參考文獻 318
課後習題(電子版見下載) 319