
掃描右側(cè)圖片或微信搜索 “ Java技術(shù)分享屋 ” ,回復(fù) “ 驗證碼 ” ,獲取驗證密碼。
本資料僅供讀者預(yù)覽及學(xué)習(xí)交流使用,不能用于商業(yè)用途,請在下載后24小時內(nèi)刪除。如果喜歡,請購買正版!
一.資料圖片
二.資料簡介
本書作為算法領(lǐng)域經(jīng)典的參考書,全面介紹了關(guān)于算法和數(shù)據(jù)結(jié)構(gòu)的必備知識,并特別針對排序、搜索、圖處理和字符串處理進(jìn)行了論述。第4版具體給出了每位程序員應(yīng)知應(yīng)會的50個算法,提供了實際代碼,而且這些 Java 代碼實現(xiàn)采用了模塊化的編程風(fēng)格,讀者可以方便地加以改造。配套網(wǎng)站 algs4.cs.princeton.edu 提供了本書內(nèi)容摘要以及相關(guān)代碼、測試數(shù)據(jù)、編程練習(xí)、教學(xué)課件等資源。
三.作者簡介
Robert Sedgewick,斯坦福大學(xué)博士(導(dǎo)師是Donald E. Knuth),從1985年開始一直擔(dān)任普林斯頓大學(xué)計算機(jī)科學(xué)系教授,曾任該系主任,也是Adobe Systems公司董事會成員,曾在Xerox PARC、國防分析研究所(Institute for Defense Analyses)和法國國家信息與自動化研究所(INRIA)從事研究工作。他的研究方向包括解析組合學(xué)、數(shù)據(jù)結(jié)構(gòu)和算法的分析與設(shè)計、程序可視化等。
Kevin Wayne,康奈爾大學(xué)博士,普林斯頓大學(xué)計算機(jī)科學(xué)系高級講師。研究方向包括算法的設(shè)計、分析和實現(xiàn),特別是圖和離散優(yōu)化。
四.資料目錄
第1章 基礎(chǔ) 1
1.1 基礎(chǔ)編程模型 4
1.1.1 Java程序的基本結(jié)構(gòu) 4
1.1.2 原始數(shù)據(jù)類型與表達(dá)式 6
1.1.3 語句 8
1.1.4 簡便記法 9
1.1.5 數(shù)組 10
1.1.6 靜態(tài)方法 12
1.1.7 API 16
1.1.8 字符串 20
1.1.9 輸入輸出 21
1.1.10 二分查找 28
1.1.11 展望 30
1.2 數(shù)據(jù)抽象 38
1.2.1 使用抽象數(shù)據(jù)類型 38
1.2.2 抽象數(shù)據(jù)類型舉例 45
1.2.3 抽象數(shù)據(jù)類型的實現(xiàn) 52
1.2.4 更多抽象數(shù)據(jù)類型的實現(xiàn) 55
1.2.5 數(shù)據(jù)類型的設(shè)計 60
1.3 背包、隊列和?! ?4
1.3.1 API 74
1.3.2 集合類數(shù)據(jù)類型的實現(xiàn) 81
1.3.3 鏈表 89
1.3.4 綜述 98
1.4 算法分析 108
1.4.1 科學(xué)方法 108
1.4.2 觀察 108
1.4.3 數(shù)學(xué)模型 112
1.4.4 增長數(shù)量級的分類 117
1.4.5 設(shè)計更快的算法 118
1.4.6 倍率實驗 121
1.4.7 注意事項 123
1.4.8 處理對于輸入的依賴 124
1.4.9 內(nèi)存 126
1.4.10 展望 129
1.5 案例研究:union-find算法 136
1.5.1 動態(tài)連通性 136
1.5.2 實現(xiàn) 140
1.5.3 展望 148
第2章 排序 152
2.1 初級排序算法 153
2.1.1 游戲規(guī)則 153
2.1.2 選擇排序 155
2.1.3 插入排序 157
2.1.4 排序算法的可視化 159
2.1.5 比較兩種排序算法 159
2.1.6 希爾排序 162
2.2 歸并排序 170
2.2.1 原地歸并的抽象方法 170
2.2.2 自頂向下的歸并排序 171
2.2.3 自底向上的歸并排序 175
2.2.4 排序算法的復(fù)雜度 177
2.3 快速排序 182
2.3.1 基本算法 182
2.3.2 性能特點 185
2.3.3 算法改進(jìn) 187
2.4 優(yōu)先隊列 195
2.4.1 API 195
2.4.2 初級實現(xiàn) 197
2.4.3 堆的定義 198
2.4.4 堆的算法 199
2.4.5 堆排序 205
2.5 應(yīng)用 214
2.5.1 將各種數(shù)據(jù)排序 214
2.5.2 我應(yīng)該使用哪種排序算法 218
2.5.3 問題的歸約 219
2.5.4 排序應(yīng)用一覽 221
第3章 查找 227
3.1 符號表 228
3.1.1 API 228
3.1.2 有序符號表 230
3.1.3 用例舉例 233
3.1.4 無序鏈表中的順序查找 235
3.1.5 有序數(shù)組中的二分查找 238
3.1.6 對二分查找的分析 242
3.1.7 預(yù)覽 244
3.2 二叉查找樹 250
3.2.1 基本實現(xiàn) 250
3.2.2 分析 255
3.2.3 有序性相關(guān)的方法與刪除操作 257
3.3 平衡查找樹 269
3.3.1 2-3查找樹 269
3.3.2 紅黑二叉查找樹 275
3.3.3 實現(xiàn) 280
3.3.4 刪除操作 282
3.3.5 紅黑樹的性質(zhì) 284
3.4 散列表 293
3.4.1 散列函數(shù) 293
3.4.2 基于拉鏈法的散列表 297
3.4.3 基于線性探測法的散列表 300
3.4.4 調(diào)整數(shù)組大小 304
3.4.5 內(nèi)存使用 306
3.5 應(yīng)用 312
3.5.1 我應(yīng)該使用符號表的哪種實現(xiàn) 312
3.5.2 集合的API 313
3.5.3 字典類用例 315
3.5.4 索引類用例 318
3.5.5 稀疏向量 322
第4章 圖 329
4.1 無向圖 331
4.1.1 術(shù)語表 331
4.1.2 表示無向圖的數(shù)據(jù)類型 333
4.1.3 深度優(yōu)先搜索 338
4.1.4 尋找路徑 342
4.1.5 廣度優(yōu)先搜索 344
4.1.6 連通分量 349
4.1.7 符號圖 352
4.1.8 總結(jié) 358
4.2 有向圖 364
4.2.1 術(shù)語 364
4.2.2 有向圖的數(shù)據(jù)類型 365
4.2.3 有向圖中的可達(dá)性 367
4.2.4 環(huán)和有向無環(huán)圖 369
4.2.5 有向圖中的強(qiáng)連通性 378
4.2.6 總結(jié) 385
4.3 最小生成樹 390
4.3.1 原理 391
4.3.2 加權(quán)無向圖的數(shù)據(jù)類型 393
4.3.3 最小生成樹的API和測試用例 396
4.3.4 Prim算法 398
4.3.5 Prim算法的即時實現(xiàn) 401
4.3.6 Kruskal算法 404
4.3.7 展望 407
4.4 最短路徑 412
4.4.1 最短路徑的性質(zhì) 413
4.4.2 加權(quán)有向圖的數(shù)據(jù)結(jié)構(gòu) 414
4.4.3 最短路徑算法的理論基礎(chǔ) 420
4.4.4 Dijkstra算法 421
4.4.5 無環(huán)加權(quán)有向圖中的最短路徑算法 425
4.4.6 一般加權(quán)有向圖中的最短路徑問題 433
4.4.7 展望 445
第5章 字符串 451
5.1 字符串排序 455
5.1.1 鍵索引計數(shù)法 455
5.1.2 低位優(yōu)先的字符串排序 458
5.1.3 高位優(yōu)先的字符串排序 461
5.1.4 三向字符串快速排序 467
5.1.5 字符串排序算法的選擇 470
5.2 單詞查找樹 474
5.2.1 單詞查找樹 475
5.2.2 單詞查找樹的性質(zhì) 483
5.2.3 三向單詞查找樹 485
5.2.4 三向單詞查找樹的性質(zhì) 487
5.2.5 應(yīng)該使用字符串符號表的哪種實現(xiàn) 489
5.3 子字符串查找 493
5.3.1 歷史簡介 493
5.3.2 暴力子字符串查找算法 494
5.3.3 Knuth-Morris-Pratt子字符串查找算法 496
5.3.4 Boyer-Moore字符串查找算法 502
5.3.5 Rabin-Karp指紋字符串查找算法 505
5.3.6 總結(jié) 509
5.4 正則表達(dá)式 514
5.4.1 使用正則表達(dá)式描述模式 514
5.4.2 縮略寫法 516
5.4.3 正則表達(dá)式的實際應(yīng)用 517
5.4.4 非確定有限狀態(tài)自動機(jī) 518
5.4.5 模擬NFA的運行 520
5.4.6 構(gòu)造與正則表達(dá)式對應(yīng)的
5.5 數(shù)據(jù)壓縮 529
5.5.1 游戲規(guī)則 529
5.5.2 讀寫二進(jìn)制數(shù)據(jù) 530
5.5.3 局限 533
5.5.4 熱身運動:基因組 534
5.5.5 游程編碼 537
5.5.6 霍夫曼壓縮 540
第6章 背景 558
索引 611