算法詳解 捲2 圖算法和數據結構
[美]蒂姆·拉夫加登(Tim Roughgarden) 徐波 譯
- 出版商: 人民郵電
- 出版日期: 2020-06-01
- 定價: $294
- 售價: 7.9 折 $232
- 語言: 簡體中文
- 頁數: 188
- 裝訂: 平裝
- ISBN: 7115526036
- ISBN-13: 9787115526038
-
相關分類:
Algorithms-data-structures
- 此書翻譯自: Algorithms Illuminated -- Part 2 : Graph Algorithms and Data Structures (Paperback)
-
算法詳解 捲1 算法基礎 算法詳解 捲2 圖算法和數據結構 算法詳解 捲3 貪心算法和動態規劃 算法詳解(捲4)——NP-Hard問題算法
立即出貨
買這商品的人也買了...
-
系統晶片設計$420$412 -
C++ 沉思錄 (Ruminations on C++ : A Decade of Programming Insight and Experience)$520$406 -
$419自己動手寫編譯器、鏈接器 -
$356徹底研究 : 黑客編程技術揭秘與攻防實戰 -
為你自己學 Git$500$390 -
Windows 黑客編程技術詳解$648$616 -
趣學演算法|50種必學演算法的完美圖解與應用實作$580$458 -
$232算法詳解 捲1 算法基礎 -
Algorithms Illuminated -- Part 2 : Graph Algorithms and Data Structures (Paperback)$850$808 -
$294數據結構與算法圖解 -
$855Algorithms Illuminated -- Part 3 : Greedy Algorithms and Dynamic Programming (Paperback) -
$301強化學習與深度學習:通過 C語言模擬 -
$855Algorithms Illuminated -- Part 4 : Algorithms for NP-Hard Problems (Paperback) -
演算法精鑰 (推薦:李家同‧唐傳義‧徐道中‧黃永輝)$580$551 -
數據庫系統概念, 7/e (Database System Concepts, 7/e)$894$849 -
算法通關之路$594$564 -
$534數據結構與算法分析(C++版)(第三版) -
演算法戰鬥營:爆量題庫新手燒腦篇$880$695 -
演算法洞見:遞推與遞迴$600$396 -
每個程式設計師都應該要知道的50個演算法$690$518 -
面向對象是怎樣工作的, 3/e$419$398 -
$356算法詳解 捲3 貪心算法和動態規劃 -
$455算法詳解(捲4)——NP-Hard問題算法 -
CPU 眼裡的 C/C++$534$507 -
刷題實戰筆記:演算法工程師求職加分的祕笈 (暢銷回饋版)$720$562
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
算法詳解系列圖書共有4捲,本書是第2捲—圖算法和數據結構。
本書共有6章,主要介紹了3個主題,分別是圖的搜索和應用、最短路徑以及數據結構。
附錄簡單回顧了漸進性表示法。
本書的每一章均有小測驗、章末習題,這為讀者的自我檢查以及進一步學習提供了方便。
本書提供了豐富而實用的資料,能夠幫助讀者提升算法思維能力。
本書適合計算機專業的高校教師和學生,想要培養和訓練算法思維和計算思維的IT專業人士,
以及正在準備面試的應聘者和麵試官閱讀參考。
作者簡介
Tim Roughgarden
是斯坦福大學計算機科學系的教授,也是該校管理科學和工程系的客座教授,他從2004年開始教授和研究算法。
本書是他的《算法詳解》四部曲的第一捲,基於他從2012年開始定期舉行的在線算法課程編寫。
目錄大綱
第1章 圖的基礎知識 1
1.1 基本術語 1
1.2 圖的一些應用 2
1.3 圖形的度量 3
1.3.1 圖的邊數量 3
1.3.2 稀疏圖和稠密圖 4
1.3.3 小測驗1.1的答案 5
1.4 圖的表示方法 7
1.4.1 鄰接列表 7
1.4.2 鄰接矩陣 8
1.4.3 圖的表示形式之間的比較 9
1.4.4 小測驗1.2和小測驗1.3的答案 10
1.5 本章要點 11
1.6 章末習題 12
第2章 圖的搜索及其應用 14
2.1 概述 14
2.1.1 一些應用 15
2.1.2 零代價的基本算法 16
2.1.3 通用的圖搜索算法 17
2.1.4 寬度優先的搜索和深度優先的搜索 20
2.1.5 GenericSearch算法的正確性 22
2.2 寬度優先的搜索和最短路徑 23
2.2.1 高層思路 23
2.2.2 BFS的偽碼 24
2.2.3 BFS的一個例子 25
2.2.4 正確性和運行時間 27
2.2.5 最短路徑 28
2.2.6 小測驗2.1的答案 31
2.3 計算連通分量 32
2.3.1 連通分量 32
2.3.2 連通分量的應用 33
2.3.3 UCC(無向圖連通分量)算法 34
2.3.4 UCC算法的一個例子 35
2.3.5 UCC算法的正確性和運行時間 36
2.3.6 小測驗2.2的答案 37
2.4 深度優先的搜索 37
2.4.1 DFS的一個例子 37
2.4.2 DFS的偽碼 39
2.4.3 正確性和運行時間 41
2.5 拓撲排序 41
2.5.1 拓撲順序 41
2.5.2 什麼時候存在拓撲順序 43
2.5.3 計算拓撲順序 45
2.5.4 通過DFS的拓撲排序 46
2.5.5 拓撲排序的一個例子 47
2.5.6 正確性和運行時間 48
2.5.7 小測驗2.3和小測驗2.4的答案 49
2.6 計算強連通分量 50
2.6.1 強連通分量的定義 50
2.6.2 為什麼要使用深度優先的搜索 52
2.6.3 為什麼要使用反轉的圖 53
2.6.4 Kosaraju的偽碼 57
2.6.5 一個例子 59
2.6.6 正確性和運行時間 60
2.6.7 小測驗2.5和小測驗2.6的答案 60
2.7 Web的結構 61
2.7.1 Web圖 62
2.7.2 蝴蝶結 63
2.7.3 主要發現 64
2.8 本章要點 65
2.9 章末習題 65
第3章 Dijkstra最短路徑算法 70
3.1 單源最短路徑問題 70
3.1.1 問題定義 70
3.1.2 一些前提條件 72
3.1.3 為什麼不使用寬度優先的搜索 72
3.1.4 小測驗3.1的答案 73
3.2 Dijkstra算法 74
3.2.1 偽碼 74
3.2.2 一個例子 76
3.3 為什麼Dijkstra算法是正確的 77
3.3.1 一種虛假的簡化 77
3.3.2 Dijkstra算法的一個糟糕例子 78
3.3.3 非負邊長時的正確性 78
3.4 算法的實現及其運行時間 82
3.5 本章要點 84
3.6 章末習題 84
第4章 堆數據結構 88
4.1 數據結構概述 88
4.1.1 選擇正確的數據結構 88
4.1.2 進入更高層次 89
4.2 堆所支持的操作 90
4.2.1 Insert和ExtractMin 91
4.2.2 其他操作 92
4.3 堆的應用 93
4.3.1 應用:排序 93
4.3.2 應用:事件管理器 96
4.3.3 應用:中位值維護 96
4.4 Dijkstra算法的提速 98
4.4.1 為什麼要使用堆 98
4.4.2 計劃 99
4.4.3 維持不變性 101
4.4.4 運行時間 103
4.5 實現細節 104
4.5.1 樹形式的堆 104
4.5.2 數組形式的堆 106
4.5.3 在O (log n)時間內實現Insert操作 107
4.5.4 在O (log n)時間內實現ExtractMin操作 111
4.6 本章要點 114
4.7 章末習題 114
第5章 搜索樹 117
5.1 有序數組 117
5.1.1 有序數組支持的操作 117
5.1.2 有序數組不支持的操作 119
5.2 搜索樹支持的操作 120
*5.3 實現細節 122
5.3.1 搜索樹的屬性 122
5.3.2 搜索樹的高度 123
5.3.3 在O(高度)時間內實現Search 124
5.3.4 在O(高度)時間內實現Min和Max 125
5.3.5 在O(高度)時間內實現Predecessor 126
5.3.6 在O(n)時間內實現OutputSorted操作 127
5.3.7 在O(高度)時間內實現Insert操作 128
5.3.8 在O(高度)時間內實現Delete操作 129
5.3.9 強化的搜索樹支持Select操作 132
5.3.10 小測驗5.1的答案 134
5.4 平衡搜索樹 134
5.4.1 努力實現更好的平衡 134
5.4.2 旋轉 135
5.5 本章要點 137
5.6 章末習題 138
第6章 散列表和布隆過濾器 140
6.1 支持的操作 140
6.2 散列表的應用 143
6.2.1 應用:消除重複 144
6.2.2 應用:兩數之和問題 145
6.2.3 應用:搜索巨大的狀態空間 147
6.2.4 小測驗6.2的答案 148
6.3 實現的高層思路 148
6.3.1 兩個簡單的解決方案 148
6.3.2 散列函數 149
6.3.3 衝突是不可避免的 150
6.3.4 解決衝突的方法:鏈地址法 152
6.3.5 解決衝突的方法:開放地址法 153
6.3.6 良好的散列函數是怎麼樣的 156
6.3.7 小測驗6.3至小測驗6.5的答案 160
6.4 更多的實現細節 162
6.4.1 負載和性能 162
6.4.2 管理散列表的負載 164
6.4.3 選擇散列函數 165
6.4.4 選擇衝突解決策略 166
6.4.5 小測驗6.6的答案 166
6.5 布隆過濾器的基礎知識 166
6.5.1 布隆過濾器支持的操作 167
6.5.2 布隆過濾器的應用 169
6.5.3 布隆過濾器的實現 169
6.6 布隆過濾器的啟發式分析 172
6.6.1 啟發式假設 172
6.6.2 部分位被設置為1 174
6.6.3 假陽性率 175
6.6.4 結束語 176
6.6.5 小測驗6.7的答案 177
6.7 本章要點 178
6.8 章末習題 179
附錄 快速回顧漸進性表示法 181
部分習題答案 187


