本書全麵講述算法和數據結構的必備知識,具有以下幾大特色。
算法領域的經典參考書
Sedgewick暢銷著作的最新版,反映瞭經過幾十年演化而成的算法核心知識體係
內容全麵
全麵論述排序、搜索、圖處理和字符串處理的算法和數據結構,涵蓋每位程序員應知應會的50種算法
全新修訂的代碼
全新的Java實現代碼,采用模塊化的編程風格,所有代碼均可供讀者使用
與實際應用相結閤
在重要的科學、工程和商業應用環境下探討算法,給齣瞭算法的實際代碼,而非同類著作常用的僞代碼
富於智力趣味性
簡明扼要的內容,用豐富的視覺元素展示的示例,精心設計的代碼,詳盡的曆史和科學背景知識,各種難度的練習,這一切都將使讀者手不釋捲
科學的方法
用閤適的數學模型精確地討論算法性能,這些模型是在真實環境中得到驗證的
與網絡相結閤
配套網站algs4.cs.princeton.edu提供瞭本書內容的摘要及相關的代碼、測試數據、編程練習、教學課件等資源
算法(第4版) 下載 mobi epub pdf txt 電子書
目錄
第1章 基礎 1
1.1 基礎編程模型 4
1.1.1 Java程序的基本結構 4
1.1.2 原始數據類型與錶達式 6
1.1.3 語句 8
1.1.4 簡便記法 9
1.1.5 數組 10
1.1.6 靜態方法 12
1.1.7 API 16
1.1.8 字符串 20
1.1.9 輸入輸齣 21
1.1.10 二分查找 28
1.1.11 展望 30
1.2 數據抽象 38
1.2.1 使用抽象數據類型 38
1.2.2 抽象數據類型舉例 45
1.2.3 抽象數據類型的實現 52
1.2.4 更多抽象數據類型的實現 55
1.2.5 數據類型的設計 60
1.3 背包、隊列和棧 74
1.3.1 API 74
1.3.2 集閤類數據類型的實現 81
1.3.3 鏈錶 89
1.3.4 綜述 98
1.4 算法分析 108
1.4.1 科學方法 108
1.4.2 觀察 108
1.4.3 數學模型 112
1.4.4 增長數量級的分類 117
1.4.5 設計更快的算法 118
1.4.6 倍率實驗 121
1.4.7 注意事項 123
1.4.8 處理對於輸入的依賴 124
1.4.9 內存 126
1.4.10 展望 129
1.5 案例研究:union-find算法 136
1.5.1 動態連通性 136
1.5.2 實現 140
1.5.3 展望 148
第2章 排序 152
2.1 初級排序算法 153
2.1.1 遊戲規則 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 排序算法的復雜度 177
2.3 快速排序 182
2.3.1 基本算法 182
2.3.2 性能特點 185
2.3.3 算法改進 187
2.4 優先隊列 195
2.4.1 API 195
2.4.2 初級實現 197
2.4.3 堆的定義 198
2.4.4 堆的算法 199
2.4.5 堆排序 205
2.5 應用 214
2.5.1 將各種數據排序 214
2.5.2 我應該使用哪種排序算法 218
2.5.3 問題的歸約 219
2.5.4 排序應用一覽 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 有序數組中的二分查找 238
3.1.6 對二分查找的分析 242
3.1.7 預覽 244
3.2 二叉查找樹 250
3.2.1 基本實現 250
3.2.2 分析 255
3.2.3 有序性相關的方法與刪除操作 257
3.3 平衡查找樹 269
3.3.1 2-3查找樹 269
3.3.2 紅黑二叉查找樹 275
3.3.3 實現 280
3.3.4 刪除操作 282
3.3.5 紅黑樹的性質 284
3.4 散列錶 293
3.4.1 散列函數 293
3.4.2 基於拉鏈法的散列錶 297
3.4.3 基於綫性探測法的散列錶 300
3.4.4 調整數組大小 304
3.4.5 內存使用 306
3.5 應用 312
3.5.1 我應該使用符號錶的哪種實現 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 術語錶 331
4.1.2 錶示無嚮圖的數據類型 333
4.1.3 深度優先搜索 338
4.1.4 尋找路徑 342
4.1.5 廣度優先搜索 344
4.1.6 連通分量 349
4.1.7 符號圖 352
4.1.8 總結 358
4.2 有嚮圖 364
4.2.1 術語 364
4.2.2 有嚮圖的數據類型 365
4.2.3 有嚮圖中的可達性 367
4.2.4 環和有嚮無環圖 369
4.2.5 有嚮圖中的強連通性 378
4.2.6 總結 385
4.3 最小生成樹 390
4.3.1 原理 391
4.3.2 加權無嚮圖的數據類型 393
4.3.3 最小生成樹的API和測試用例 396
4.3.4 Prim算法 398
4.3.5 Prim算法的即時實現 401
4.3.6 Kruskal算法 404
4.3.7 展望 407
4.4 最短路徑 412
4.4.1 最短路徑的性質 413
4.4.2 加權有嚮圖的數據結構 414
4.4.3 最短路徑算法的理論基礎 420
4.4.4 Dijkstra算法 421
4.4.5 無環加權有嚮圖中的最短路徑算法 425
4.4.6 一般加權有嚮圖中的最短路徑問題 433
4.4.7 展望 445
第5章 字符串 451
5.1 字符串排序 455
5.1.1 鍵索引計數法 455
5.1.2 低位優先的字符串排序 458
5.1.3 高位優先的字符串排序 461
5.1.4 三嚮字符串快速排序 467
5.1.5 字符串排序算法的選擇 470
5.2 單詞查找樹 474
5.2.1 單詞查找樹 475
5.2.2 單詞查找樹的性質 483
5.2.3 三嚮單詞查找樹 485
5.2.4 三嚮單詞查找樹的性質 487
5.2.5 應該使用字符串符號錶的哪種實現 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 總結 509
5.4 正則錶達式 514
5.4.1 使用正則錶達式描述模式 514
5.4.2 縮略寫法 516
5.4.3 正則錶達式的實際應用 517
5.4.4 非確定有限狀態自動機 518
5.4.5 模擬NFA的運行 520
5.4.6 構造與正則錶達式對應的
5.5 數據壓縮 529
5.5.1 遊戲規則 529
5.5.2 讀寫二進製數據 530
5.5.3 局限 533
5.5.4 熱身運動:基因組 534
5.5.5 遊程編碼 537
5.5.6 霍夫曼壓縮 540
第6章 背景 558
索引 611
· · · · · · (
收起)
評分
☆☆☆☆☆
普林斯頓老爺子的coursera網課課本 嗯 接觸到core system之後 越來越多碰到算法瞭 就得迴來溫習一下
評分
☆☆☆☆☆
完全不瞭解編程時買的,那時覺得是好書,最近再翻,發現有些雞肋與蕪雜。屬於授之以魚而非授之以漁型的書目。
評分
☆☆☆☆☆
外匯套利技能get......
評分
☆☆☆☆☆
這本應該算是最簡單的算法書瞭,但是真心覺得算法難啊,全是乾貨。。
評分
☆☆☆☆☆
需要反復讀的一本書。
評分
☆☆☆☆☆
中文译稿我刚刚交上去不久。至于这本英文版,我绝对力荐。这是一本非常适合于自学以及作为教材的算法书。和它相比,清华的什么算法教材简直就是给原始人看的。它有什么特点呢? 1、基础而全面:前两天看到Quora上的一个问题:你觉得最天才的算法有哪些(http://www.quora.com/Wh...
評分
☆☆☆☆☆
这是工作七年来读完的第一本大部头. 这本书是2014年买的, 买完后一直没下决心去读, 放了两年多才开始读. 为什么要读这本书呢? 首先我是Java程序员, 而这本书中的算法就是用Java语言描述的, 语言这门槛对我来说是没有的, 阅读时直接领会算法不必纠结于语言的语法. 其次, 我认为...
評分
☆☆☆☆☆
配套官网:https://algs4.cs.princeton.edu/home/ 配套视频:https://www.coursera.org/learn/algorithms-part1/ https://www.coursera.org/learn/algorithms-part2/ 可视化工具:https://visualgo.net/zh
評分
☆☆☆☆☆
这书就是一场大型的mindfuck。它只是向一个向往严肃精神生活的人指明,你再怎么折腾也只能是智力界的amateur。它是一次长征。当你踉踉跄跄淌过sorting和searching两章,还在为红黑树心有余悸的时候,却不期已陷入graphs的沼泽中。在无数次为Prim或Dijkstra的trace of stack揉搓...
評分
☆☆☆☆☆
我的基础:看过算法图解 这是一本好书大家都知道,但是看见这么多人推荐入门实在是。。。。。。 这本书的确是对应数据结构(与算法)这门课,而不是算法设计与分析这门课。重在实现,寥寥的分析和正确性证明。但就算如此对入门数据结构来说,也不是非常友好。准确的说是有些地...