-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
圖解數據結構使用JaVa(第2版) 版權信息
- ISBN:9787302545811
- 條形碼:9787302545811 ; 978-7-302-54581-1
- 裝幀:平裝
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
圖解數據結構使用JaVa(第2版) 本書特色
本書是一本綜合講述數據結構及其算法的入門書,內容淺顯易懂、邏輯嚴謹,力求適用性兼顧教師教學和學生自學。 全書從基本的數據結構概念開始講解,以新版的Java語言詳細詮釋數組結構、隊列、堆棧、鏈表、樹結構、圖結構、排序和查找等數據結構的基礎知識,書中收錄了精華的算法及范例程序的實現過程,輔以豐富的圖示解析。全書的范例程序均采用“Eclipse”Java IDE集成開發工具進行編譯、執行、測試及調試。此外,本書各章末尾都安排了配合教學內容和選自各類考試的習題,并在附錄中提供了解答,可供讀者測試學習效果。 本書圖文并茂,敘述簡潔、清晰,范例豐富、可操作性強,針對具有一定編程能力又想提高編程“深度”的非信息專業類人員或學生,是一本數據結構普及型的教科書或自學參考書。
圖解數據結構使用JaVa(第2版) 內容簡介
本書使用圖文并茂的教學方式,通俗易懂地講解了常見算法和數據結構的基本概念及其應用。
為便于讀者的理解,對所有算法和數據結構不使用偽代碼而代之以完整的Java代碼實現,讀者直接調用書中的代碼即可進行上機演練。
各章安排了有針對性的練習題,并在附錄部分提供了所有練習題的答案,方便讀者鞏固學習成果。
本書使用Eclipse Java IDE開發工具進行程序的編譯、執行、測試和調試,附錄部分提供了這個IDE開發工具和JDK 10的安裝方法,讀者參考安裝步驟即可以輕松搭建自己的開發環境。
圖解數據結構使用JaVa(第2版) 目錄
第1章 數據結構與算法 1
1.1 數據結構的定義 1
1.1.1 數據與信息 2
1.1.2 數據的特性 2
1.2 算法 3
1.2.1 到處都是算法 4
1.2.2 算法的定義 5
1.3 算法效能分析 7
1.3.1 Big-oh 8
1.3.2 Ω(Omega) 11
1.3.3 θ(Theta) 11
1.4 常見算法介紹 11
1.4.1 分治法 12
1.4.2 遞歸法 12
1.4.3 貪心法 16
1.4.4 動態規劃法 17
1.4.5 迭代法 18
1.4.6 枚舉法 19
1.5 程序設計簡介 20
1.5.1 程序開發流程 20
1.5.2 結構化程序設計 21
1.5.3 面向對象程序設計 22
課后習題 24
第2章 數組結構 26
2.1 線性表簡介 26
2.2 認識數組 27
2.2.1 一維數組 28
2.2.2 二維數組 30
2.2.3 三維數組 33
2.2.4 n維數組 36
2.3 矩陣 37
2.3.1 矩陣相加 38
2.3.2 矩陣相乘 40
2.3.3 轉置矩陣 42
2.3.4 稀疏矩陣 44
2.3.5 上三角形矩陣 47
2.3.6 下三角形矩陣 52
2.3.7 帶狀矩陣 57
2.4 數組與多項式 57
課后習題 59
第3章 鏈表 61
3.1 動態分配內存 61
3.2 單向鏈表 62
3.2.1 建立單向鏈表 64
3.2.2 單向鏈表節點的刪除 68
3.2.3 單向鏈表插入新節點 72
3.2.4 單向鏈表的反轉 77
3.2.5 單向鏈表的功能 80
3.2.6 多項式鏈表表式法 81
3.3 環形鏈表 87
3.3.1 環形鏈表新節點的插入 88
3.3.2 環形鏈表中節點的刪除 88
3.3.3 環形鏈表的串聯 91
3.3.4 稀疏矩陣的環形鏈表表示法 95
3.4 雙向鏈表 97
3.4.1 雙向鏈表的定義 97
3.4.2 雙向鏈表節點的插入 98
3.4.3 雙向鏈表節點的刪除 99
課后習題 102
第4章 堆棧 104
4.1 堆棧簡介 104
4.1.1 用數組實現堆棧 105
4.1.2 用鏈表來實現堆棧 110
4.2 堆棧的應用 114
4.2.1 漢諾塔問題 115
4.2.2 老鼠走迷宮 121
4.2.3 8-皇后問題 126
4.3 算術表達式的表示法(即求值法) 129
4.3.1 中序表示法求值 130
4.3.2 前序表示法求值 131
4.3.3 后序表示法求值 132
4.4 中序法轉換為前序法 133
4.4.1 二叉樹法 133
4.4.2 括號法 133
4.4.3 堆棧法 135
4.5 前序與后序表達式轉換成中序表達式 140
4.5.1 括號法 140
4.5.2 堆棧法 141
課后習題 143
第5章 隊列 145
5.1 認識隊列 145
5.1.1 隊列的基本操作 146
5.1.2 用隊列實現數組 146
5.1.3 用鏈表實現隊列 150
5.2 隊列的應用 152
5.2.1 環形隊列 152
5.2.2 雙向隊列 156
5.2.3 優先隊列 159
課后習題 160
第6章 樹結構 161
6.1 樹的基本概念 162
6.2 二叉樹簡介 164
6.2.1 二叉樹的定義 165
6.2.2 特殊二叉樹簡介 166
6.3 二叉樹的存儲方式 168
6.3.1 一維數組表示法 168
6.3.2 鏈表表示法 170
6.4 二叉樹的遍歷 172
6.4.1 中序遍歷 173
6.4.2 后序遍歷 174
6.4.3 前序遍歷 174
6.4.4 二叉樹遍歷的實現 176
6.4.5 二叉運算樹 179
6.5 二叉樹的高級研究 184
6.5.1 二叉排序樹 184
6.5.2 二叉搜索樹 188
6.5.3 線索二叉樹 191
6.6 樹的二叉樹表示法 196
6.6.1 樹轉化為二叉樹 196
6.6.2 二叉樹轉化為樹 198
6.6.3 樹林轉化為二叉樹 200
6.6.4 二叉樹轉換為樹林 201
6.6.5 樹與樹林的遍歷 201
6.6.6 確定唯一二叉樹 205
6.7 優化二叉搜索樹 207
6.7.1 擴充二叉樹 207
6.7.2 霍夫曼樹 208
6.8 平衡樹 210
6.8.1 平衡樹的定義 210
6.8.2 B樹 212
課后習題 212
第7章 圖結構 216
7.1 圖的簡介 217
7.1.1 圖的定義 217
7.1.2 無向圖 218
7.1.3 有向圖 219
7.2 圖的數據表示法 221
7.2.1 鄰接矩陣法 221
7.2.2 鄰接鏈表法 225
7.2.3 鄰接復合鏈表法 229
7.2.4 索引表格法 231
7.3 圖的遍歷 233
7.3.1 深度優先遍歷法 233
7.3.2 廣度優先遍歷法 236
7.4 生成樹 239
7.5 *小生成樹 241
7.5.1 Prim算法 241
7.5.2 Kruskal算法 243
7.6 圖的*短路徑 248
7.6.1 單點對全部頂點——Dijkstra算法與A*算法 248
7.6.2 兩兩頂點間的*短路徑——Floyd算法 254
7.7 AOV網絡與拓撲排序 258
7.8 AOE網絡 262
課后習題 263
第8章 排序 267
8.1 排序簡介 268
8.1.1 排序的分類 268
8.1.2 排序算法分析 269
8.2 內部排序法 269
8.2.1 冒泡排序法 270
8.2.2 選擇排序法 274
8.2.3 插入排序法 277
8.2.4 希爾排序法 280
8.2.5 合并排序法 283
8.2.6 快速排序法 283
8.2.7 堆積排序法 287
8.2.8 基數排序法 293
8.3 外部排序法 296
8.3.1 直接合并排序法 297
8.3.2 k路合并法 305
8.3.3 多相合并法 305
課后習題 306
第9章 查找 310
9.1 常見的查找方法 311
9.1.1 順序查找法 311
9.1.2 二分查找法 313
9.1.3 插值查找法 316
9.1.4 斐波拉契查找法 319
9.1.5 哈希查找法 321
9.1.6 常見的哈希函數 322
9.2 碰撞與溢出問題的處理 325
9.2.1 線性探測法 325
9.2.2 平方探測法 327
9.2.3 再哈希法 327
9.2.4 鏈表法 329
9.2.5 哈希法綜合范例 331
課后習題 334
附錄A Java 9開發環境簡介 336
附錄B 課后習題與解答 349
圖解數據結構使用JaVa(第2版) 作者簡介
吳燦銘,現任榮欽科技股份有限公司執行長,美國Rochester Institute of Technology計算機科學研究所畢業,長期從事信息教育及計算機圖書寫作的工作,計算機圖書著作包括計算器概論、數據結構、辦公室電子數據處理、互聯網等相關題材,并監制過多套游戲以及教學軟件的研發。
- >
月亮虎
- >
巴金-再思錄
- >
中國人在烏蘇里邊疆區:歷史與人類學概述
- >
我與地壇
- >
羅庸西南聯大授課錄
- >
名家帶你讀魯迅:朝花夕拾
- >
姑媽的寶刀
- >
伊索寓言-世界文學名著典藏-全譯本