數據結構與算法 (Java語言)
譚國律、王向軍、王淑華、李俊、李陽
相關主題
商品描述
本書內容分為數據結構和算法兩大部分。數據結構部分詳細講述了線性數據結構、非線性數據結構的存儲原理,以及對這些數據結構進行構建、添加、刪除等操作。算法部分先介紹了遞歸、貪心、分治、動態規劃、回溯等算法思維,然後詳細講解了十大排序算法、七大查找算法、四種字符串匹配算法及圖的最短路徑算法和最小生成樹算法,以及這些算法的實現原理、實現步驟、代碼實現、算法復雜度及應用場景。 本書可作為高等院校電腦及相關專業教材和參考書。同時本書無論對入門級程序員還是中高級軟件開發人員來說,都具有很強的實用性,對夯實軟件開發基礎非常有價值。
目錄大綱
第1章緒論1
1.1初識數據結構和算法2
1.2數據結構2
1.3算法5
1.4算法復雜度6
小結18
第2章線性數據結構19
2.1順序表(一維數組)19
2.2鏈表24
2.3棧47
2.4隊列56
2.5串62
小結63
第3章非線性數據結構64
3.1樹的概述64
3.2二叉樹66
3.3平衡二叉查找樹79
3.4紅黑樹84
3.5二叉堆92
3.6哈夫曼樹98
3.7B樹和B+樹102
3.8圖116
3.9散列表133
3.10稀疏數組138
小結141
第4章算法設計思維142
4.1遞歸算法142
4.2貪心算法148
4.3分治算法154
4.4動態規劃算法157
4.5回溯算法163
小結174
第5章排序算法175
5.1排序算法概述175
5.2冒泡排序算法177
5.3選擇排序算法182
5.4插入排序算法186
5.5快速排序算法190
5.6堆排序算法197
5.7希爾排序算法201
5.8歸並排序算法205
5.9桶排序算法211
5.10計數排序算法214
5.11基數排序算法217
小結220
第6章查找算法222
6.1線性查找算法222
6.2二分查找算法225
6.3插值查找算法232
6.4斐波那契查找算法237
6.5哈希查找算法243
6.6分塊查找算法247
6.7樹表查找算法251
小結252
第7章字符串匹配算法253
7.1暴力匹配算法253
7.2KMP算法257
7.3BM算法265
7.4RK算法270
小結272
第8章最短路徑算法和最小生成
樹算法274
8.1弗洛伊德算法274
8.2迪傑斯特拉算法279
8.3普利姆算法283
8.4克魯斯卡爾算法288
小結294
參考文獻295