《Java算法從菜鳥到達人》是2022年機械工業出版社出版的圖書。
基本介紹
- 中文名:Java算法從菜鳥到達人
- 出版時間:2022年6月1日
- 出版社: 機械工業出版社
- ISBN:9787111707097
內容簡介,圖書目錄,作者簡介,
內容簡介
《Java算法從菜鳥到達人》以 Java語言為實現平台,全書分四個部分,用言簡意賅的語言介紹了算法的基本概念、五種經典的算法思想、重要的數據結構以及實踐中常用的幾種算法。除第1章和第2章外,書中每章內容都包括了基本概念、實現方式、具體套用以及達人修煉真題。每一種算法思想中的真題都提供了相應的原始碼,可供讀者運行,從而達到理論與實踐並重的目的。
《Java算法從菜鳥到達人》涉及算法基本分析、算法基本思想、具體套用及大量真題等實用知識,內容全面、條理清楚、語言通俗。本書對計算機及相關專業本科生及研究生的算法能力提升和就業將有所幫助;此外,計算機科學相關領域的工程師以及愛好者也可以將本書作為技術參考書籍,查找所需算法的相關內容並從中得到啟示;當然,對計算機科學感興趣的讀者以及IT領域項目經理也可以閱讀本書,從而開啟算法世界的大門。
圖書目錄
前言
第一部分 算法基礎
第1章 算法綜述/2
1.1 算法在計算機系統中的作用/2
1.1.1 算法的定義/2
1.1.2 算法的地位/2
1.1.3 一個簡單的算法/3
1.2 偽代碼的約定/4
第2章 算法分析/6
2.1 精確效率分析/6
2.2 漸進效率分析/8
2.2.1 漸進記號/9
2.2.2 漸進記號的套用/10
2.3 遞歸式求解/15
第二部分 經典算法思想
第3章 遞歸與分治法/18
3.1 遞歸的概念/18
3.2 分治法/22
3.3 分治法的套用/24
3.4 達人修煉真題/26
第4章 動態規划算法/52
4.1 動態規劃基礎/52
4.1.1 動態規劃基本思想/52
4.1.2 動態規划算法舉例—最長公共子序列/52
4.2 動態規划算法分析/56
4.2.1 最優子結構/56
4.2.2 重疊子問題/57
4.3 動態規划算法的套用/57
4.3.1 0-1背包問題/57
4.3.2 石子歸併/59
4.3.3 常用動態規劃類問題/61
4.4 達人修煉真題/63
第5章 貪心算法/83
5.1 貪心算法基礎/83
5.1.1 貪心算法基本思想/83
5.1.2 貪心算法舉例—裝載問題/83
5.2 貪心算法的分析/84
5.3 貪心算法的套用/85
5.3.1 普通背包問題/85
5.3.2 活動安排問題/87
5.3.3 紀念品分組/89
5.4 達人修煉真題/92
第6章 回溯法/96
6.1 回溯法基本概念與算法框架/96
6.1.1 基本思路/96
6.1.2 回溯法的實現/98
6.2 回溯法的套用/99
6.2.1 0-1背包問題/99
6.2.2 八皇后問題/101
6.2.3 一摞烙餅的排序/102
6.3 達人修煉真題/105
第7章 分支界限法/109
7.1 分支界限法概念與算法框架/109
7.1.1 分支界限法基本思想/109
7.1.2 算法框架與分析/110
7.1.3 一個簡單的例子(0-1背包問題)/112
7.2 分支界限法的套用/114
7.2.1 TSP問題/114
7.2.2 多段圖的最短路徑問題/117
7.2.3 任務分配問題/119
7.3 達人修煉真題/121
第三部分 重要數據結構
第8章 棧與佇列/131
8.1 棧/131
8.2 佇列/134
8.3 達人修煉真題/137
第9章 鍊表/153
9.1 鍊表概述/153
9.2 鍊表的操作/154
9.3 達人修煉真題/157
第10章 樹與二叉樹/165
10.1 樹的概念與定義/165
10.1.1 基本概念/165
10.1.2 樹的表示/166
10.2 二叉樹/167
10.2.1 基本概念/167
10.2.2 二叉樹的存儲結構/168
10.2.3 遍歷二叉樹和線索二叉樹/169
10.3 樹、二叉樹和森林之間的關係/173
10.4 達人修煉真題/178
第11章 哈希表/184
11.1 哈希表概述/184
11.2 哈希表的套用/187
11.3 達人修煉真題/189
第12章 並查集/202
12.1 並查集基本思想/202
12.1.1 並查集概念/203
12.1.2 並查集的實現/203
12.1.3 帶權並查集/206
12.2 並查集的套用/209
12.2.1 食物鏈/209
12.2.2 Kruskal最小生成樹算法/211
12.3 達人修煉真題/212
第13章 點陣圖/218
13.1 點陣圖基本概念/218
13.2 點陣圖法的套用/223
13.2.1 位運算常見套用/223
13.2.2 點陣圖法在大數據處理中的套用/228
13.3 達人修煉真題/229
第四部分 常用算法
第14章 排序算法/235
14.1 插入排序/235
14.2 選擇排序/240
14.3 交換排序/243
14.4 歸併排序/248
14.5 桶排序/基數排序/249
14.6 達人修煉真題/252
第15章 查找算法/257
15.1 基本概念/257
15.2 靜態查找/258
15.3 動態查找/261
15.4 哈希查找/266
15.5 達人修煉真題/267
第16章 字元串匹配算法/273
16.1 簡單字元串匹配/273
16.2 KMP算法/274
16.3 BM算法/277
16.4 SUNDAY算法/278
16.5 達人修煉真題/278
附 錄/287
作者簡介
劉志全,男,博士,暨南大學網路空間安全學院副研究員、碩士生導師,研究方向包括車聯網安全、無人機安全、Web安全、信任與隱私、人工智慧、區塊鏈等;近年來共在IEEE TITS、IEEE TDSC、IEEE IOTJ、IEEE TVT等國內外期刊/會議發表SCI/EI論文40餘篇,申請/授權/公告國家發明專利/國外發明專利/PCT專利40餘項;主持國家自然科學基金、廣東省自然科學基金、廣州市自然科學基金等縱向項目;指導學生獲得港澳台僑創業大賽一等獎、吳漁夫學術科技創新競賽一等獎等。