注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計JAVA及其相關精講數(shù)據(jù)結(jié)構(Java語言實現(xiàn))

精講數(shù)據(jù)結(jié)構(Java語言實現(xiàn))

精講數(shù)據(jù)結(jié)構(Java語言實現(xiàn))

定 價:¥129.00

作 者: 塔拉
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787302679066 出版時間: 2025-03-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字數(shù):  

內(nèi)容簡介

  本書按照循序漸進的順序講解了多種常見數(shù)據(jù)結(jié)構的相關定義、實現(xiàn)方式及應用場景,并通過提供配套代碼、研讀Java源碼的方式,讓讀者能夠通過體會代碼實現(xiàn)細節(jié)的方式加深對各種常見數(shù)據(jù)結(jié)構從理論定義到實踐落地過程的理解。本書除了闡述各種常見數(shù)據(jù)結(jié)構的基本定義外,還引申的講解了常見數(shù)據(jù)結(jié)構內(nèi)部隱含的特點,使讀者能夠更加全面地了解各種常見數(shù)據(jù)結(jié)構的特征和優(yōu)缺點。本書共9章。第1章對數(shù)據(jù)結(jié)構時間、空間效能的評判標準進行講解。第2章對數(shù)組和鏈表及其引申結(jié)構進行講解。第3章對棧和隊列兩種基于數(shù)組和鏈表的邏輯結(jié)構講解。第4章對常見的搜索、排序算法進行講解。第5章對字符串結(jié)構及字符串匹配算法進行講解。第6章對多種常見樹形結(jié)構及相關算法進行講解。第7章對堆結(jié)構進行講解。第8章對散列表結(jié)構進行講解。第9章對圖結(jié)構及其常見算法進行講解。本書既適合具有一定Java語言基礎的高校學生作為學習數(shù)據(jù)結(jié)構、研究其實現(xiàn)原理的參考書籍,也對具有一定工作經(jīng)驗、需要對不同數(shù)據(jù)結(jié)構之間差異性、內(nèi)在特征進行研究的人群均有一定參考價值。

作者簡介

  塔拉,國家認證的軟件開發(fā)工程師、Oracle認證的Java開發(fā)工程師。畢業(yè)于黑龍江大學計算機科學技術專業(yè),畢業(yè)后從事軟件研發(fā)工作,并于2016年正式進入IT教育行業(yè)。從業(yè)期間曾在多家IT教育機構及高校從事講師、課程研發(fā)工作,至今已授業(yè)數(shù)百名學員,積累了豐富的教育教學經(jīng)驗,對IT行業(yè)教學內(nèi)容及教育體系有深入了解。從事IT教育行業(yè)過程中,作者堅持研究各種應用底層原理與編程思想,在數(shù)據(jù)結(jié)構、通用型算法及設計模式等方面有所心得。

圖書目錄

第1章緒論1
1.1時間復雜度1
1.2空間復雜度2
第2章數(shù)組與鏈表3
2.1數(shù)組結(jié)構4
2.1.1數(shù)組的創(chuàng)建與基本操作4
2.1.2數(shù)組內(nèi)存特性分析7
2.1.3內(nèi)存中的多維數(shù)組13
2.2鏈表結(jié)構17
2.2.1基本概念普及17
2.2.2鏈表內(nèi)存特性分析19
2.2.3鏈表衍生結(jié)構27
第3章棧和隊列54
3.1棧結(jié)構55
3.1.1棧結(jié)構概述55
3.1.2棧結(jié)構的實現(xiàn)55
3.1.3棧結(jié)構的應用場景56
3.2隊列結(jié)構63
3.2.1隊列結(jié)構概述63
3.2.2隊列結(jié)構的實現(xiàn)64
3.2.3隊列結(jié)構的應用場景65
3.2.4隊列結(jié)構的衍生68
第4章遞歸、查找與排序73
4.1遞歸73
4.1.1簡單的遞歸案例74
4.1.2遞歸結(jié)構基礎75
4.1.3遞歸結(jié)構進階78
4.2查找79
4.2.1二分查找79
4.2.2插值查找84
4.2.3斐波那契查找89
4.3排序96
4.3.1排序算法的穩(wěn)定性96
4.3.2冒泡排序97
4.3.3選擇排序101
4.3.4插入排序105
4.3.5希爾排序110
4.3.6歸并排序115
4.3.7快速排序123
4.3.8堆排序131
4.3.9計數(shù)排序141
4.3.10桶排序147
第5章字符串152
5.1基本概念與實現(xiàn)152
5.1.1字符串的基本概念152
5.1.2Java中的String類153
5.2字符串匹配算法156
5.2.1通用定義156
5.2.2BF算法156
5.2.3RK算法161
5.2.4KMP算法168
5.2.5BM算法183
5.2.6Sunday算法196
第6章樹結(jié)構203
6.1樹結(jié)構基礎204
6.1.1樹的基礎概念204
6.1.2樹的遍歷操作206
6.2二叉樹216
6.2.1二叉樹的定義216
6.2.2二叉樹的基本性質(zhì)217
6.2.3滿二叉樹和完全二叉樹217
6.2.4二叉樹的遍歷操作219
6.2.5通過深度優(yōu)先遍歷序列構建二叉樹230
6.2.6樹、森林與二叉樹的轉(zhuǎn)換238
6.3哈夫曼樹與哈夫曼編碼譯碼器248
6.3.1哈夫曼樹的構建248
6.3.2獲取明文字符的哈夫曼編碼249
6.3.3文本編碼與譯碼250
6.4線索二叉樹與Morris遍歷250
6.4.1線索二叉樹的節(jié)點定義方式251
6.4.2二叉樹的線索化251
6.4.3線索二叉樹的遍歷261
6.4.4二叉樹的Morris遍歷274
6.5二叉排序樹286
6.5.1二叉排序樹的結(jié)構特點286
6.5.2二叉排序樹的增刪查找287
6.5.3二叉排序樹退化為單鏈表的情況295
6.6平衡二叉樹(AVL樹)296
6.6.1AVL樹節(jié)點的旋轉(zhuǎn)方式296
6.6.2節(jié)點增刪導致不平衡的情況304
6.6.3AVL樹與平衡二叉樹的對比307
6.7234樹308
6.7.1234樹的結(jié)構特點308
6.7.2234樹的增刪查找310
6.8紅黑樹318
6.8.1紅黑樹的平衡策略與染色規(guī)則318
6.8.2234樹向紅黑樹的轉(zhuǎn)換319
6.8.3紅黑樹的節(jié)點增刪與結(jié)構調(diào)整323
6.9B樹與B 樹338
6.9.1B樹結(jié)構338
6.9.2B 樹結(jié)構339
6.9.3B樹與B 樹在實際應用方面的區(qū)別341
6.10字典樹(Trie樹)344
6.10.1字典樹的結(jié)構特點344
6.10.2字典樹的基本功能與實現(xiàn)方式346
6.10.3字典樹的時間復雜度與空間復雜度357
6.11樹狀數(shù)組358
6.11.1前置知識: 非負整數(shù)的lowBit操作358
6.11.2樹狀數(shù)組的構建方式359
6.11.3樹狀數(shù)組的基本操作364
6.11.4差分數(shù)組與基本操作367
第7章堆結(jié)構378
7.1堆結(jié)構基礎379
7.2二叉堆380
7.2.1二叉堆的存儲方式與特性380
7.2.2二叉堆的元素添加操作381
7.2.3二叉堆的堆頂元素刪除操作383
7.2.4二叉堆與TopK問題386
7.3左式堆與斜堆387
7.3.1左式堆388
7.3.2斜堆395
7.4二項堆401
7.4.1二項樹結(jié)構401
7.4.2二項堆的結(jié)構特點404
7.4.3二項堆的合并操作405
7.4.4二項堆的元素添加操作409
7.4.5二項堆的堆頂元素刪除操作412
第8章散列表416
8.1散列表的基本概念417
8.2散列函數(shù)的常見實現(xiàn)方式420
8.2.1前置知識: 整數(shù)的模運算421
8.2.2直接定址法425
8.2.3除留余數(shù)法425
8.2.4數(shù)字分析法426
8.2.5平方取中法427
8.2.6折疊法427
8.2.7隨機數(shù)法428
8.2.8全域散列法428
8.3散列表常見實現(xiàn)方式429
8.3.1開放地址法實現(xiàn)散列表430
8.3.2鏈地址法實現(xiàn)散列表434
8.3.3完全散列的實現(xiàn)434
8.4散列表的平均查找長度437
8.5Java中的散列表440
8.5.1Java中的hashCode()與equals()方法440
8.5.2HashMap類與HashSet類443
第9章圖結(jié)構448
9.1圖結(jié)構基礎449
9.1.1圖的基礎概念449
9.1.2圖的表示方式453
9.1.3圖的遍歷操作456
9.2無向帶權圖的最小生成樹問題461
9.2.1普里姆算法462
9.2.2克魯斯卡爾算法465
9.2.3普里姆算法與克魯斯卡爾算法的比較468
9.3有向帶權圖的最短路徑問題469
9.3.1迪杰斯特拉算法求解有向帶權圖的單源最短路徑469
9.3.2弗洛伊德算法求解有向帶權圖的多源最短路徑473
9.4AOV網(wǎng)和拓撲排序問題479
9.5AOE網(wǎng)和關鍵路徑問題484
參考文獻489

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號