幫助中心 | 我的帳號 | 關於我們

演算法詳解(卷2圖演算法和數據結構)

  • 作者:(美)蒂姆·拉夫加登|責編:武曉燕|譯者:徐波
  • 出版社:人民郵電
  • ISBN:9787115526038
  • 出版日期:2020/06/01
  • 裝幀:平裝
  • 頁數:188
人民幣:RMB 49 元      售價:
放入購物車
加入收藏夾

內容大鋼
    演算法詳解系列圖書共有4卷,本書是第2卷——圖演算法和數據結構。本書共有6章,主要介紹了3個主題,分別是圖的搜索和應用、最短路徑以及數據結構。附錄簡單回顧了漸進性表示法。本書的每一章均有小測驗、章末習題,這為讀者的自我檢查以及進一步學習提供了方便。
    本書提供了豐富而實用的資料,能夠幫助讀者提升演算法思維能力。本書適合電腦專業的高校教師和學生,想要培養和訓練演算法思維和計算思維的IT專業人士,以及正在準備面試的應聘者和面試官閱讀參考。

作者介紹
(美)蒂姆·拉夫加登|責編:武曉燕|譯者:徐波
    蒂姆·拉夫加登(Tim Roughgarden),哥倫比亞大學電腦科學系教授,之前曾任教於斯坦福大學,主要研究領域包括演算法、博弈論以及微觀經濟學。他曾獲得美國青年科學家與工程師總統獎(PECASE),ACM頒發的Grace Murray Hopper獎,Game Theory Society頒發的Kalai獎,Mathematical Programming Society頒發的Tucker獎,以及EATCS-SIGACT頒發的G?del獎。

目錄
第1章  圖的基礎知識
  1.1  基本術語
  1.2  圖的一些應用
  1.3  圖形的度量
    1.3.1  圖的邊數量
    1.3.2  稀疏圖和稠密圖
    1.3.3  小測驗1.1的答案
  1.4  圖的表示方法
    1.4.1  鄰接列表
    1.4.2  鄰接矩陣
    1.4.3  圖的表示形式之間的比較
    1.4.4  小測驗1.2和小測驗1.3的答案
  1.5  本章要點
  1.6  章末習題
第2章  圖的搜索及其應用
  2.1  概述
    2.1.1  一些應用
    2.1.2  零代價的基本演算法
    2.1.3  通用的圖搜索演算法
    2.1.4  寬度優先的搜索和深度優先的搜索
    2.1.5  GenericSearch演算法的正確性
  2.2  寬度優先的搜索和最短路徑
    2.2.1  高層思路
    2.2.2  BFS的偽碼
    2.2.3  BFS的一個例子
    2.2.4  正確性和運行時間
    2.2.5  最短路徑
    2.2.6  小測驗2.1的答案
  2.3  計算連通分量
    2.3.1  連通分量
    2.3.2  連通分量的應用
    2.3.3  UCC(無向圖連通分量)演算法
    2.3.4  UCC演算法的一個例子
    2.3.5  UCC演算法的正確性和運行時間
    2.3.6  小測驗2.2的答案
  2.4  深度優先的搜索
    2.4.1  DFS的一個例子
    2.4.2  DFS的偽碼
    2.4.3  正確性和運行時間
  2.5  拓撲排序
    2.5.1  拓撲順序
    2.5.2  什麼時候存在拓撲順序
    2.5.3  計算拓撲順序
    2.5.4  通過DFS的拓撲排序
    2.5.5  拓撲排序的一個例子
    2.5.6  正確性和運行時間
    2.5.7  小測驗2.3和小測驗2.4的答案
  *2.6  計算強連通分量
    2.6.1  強連通分量的定義
    2.6.2  為什麼要使用深度優先的搜索

    2.6.3  為什麼要使用反轉的圖
    2.6.4  Kosaraju的偽碼
    2.6.5  一個例子
    2.6.6  正確性和運行時間
    2.6.7  小測驗2.5和小測驗2.6的答案
  2.7  Web的結構
    2.7.1  Web圖
    2.7.2  蝴蝶結
    2.7.3  主要發現
  2.8  本章要點
  2.9  章末習題
第3章  Dijkstra最短路徑演算法
  3.1  單源最短路徑問題
    3.1.1  問題定義
    3.1.2  一些前提條件
    3.1.3  為什麼不使用寬度優先的搜索
      3.1.4  小測驗3.1  的答案
  3.2  Dijkstra演算法
    3.2.1  偽碼
    3.2.2  一個例子
  *3.3  為什麼Dijkstra演算法是正確的
    3.3.1  一種虛假的簡化
    3.3.2  Dijkstra演算法的一個糟糕例子
    3.3.3  非負邊長時的正確性
  3.4  演算法的實現及其運行時間
  3.5  本章要點
  3.6  章末習題
第4章  堆數據結構
  4.1  數據結構概述
    4.1.1  選擇正確的數據結構
    4.1.2  進入更高層次
  4.2  堆所支持的操作
    4.2.1  Insert和ExtractMin
    4.2.2  其他操作
  4.3  堆的應用
    4.3.1  應用:排序
    4.3.2  應用:事件管理器
    4.3.3  應用:中位值維護
  4.4  Dijkstra演算法的提速
    4.4.1  為什麼要使用堆
    4.4.2  計劃
    4.4.3  維持不變性
    4.4.4  運行時間
  *4.5  實現細節
    4.5.1  樹形式的堆
    4.5.2  數組形式的堆
    4.5.3  在O(log n)時間內實現Insert操作
    4.5.4  在O(log n)時間內實現ExtractMin操作
  4.6  本章要點
  4.7  章末習題

第5章  搜索樹
  5.1  有序數組
    5.1.1  有序數組支持的操作
    5.1.2  有序數組不支持的操作
  5.2  搜索樹支持的操作
  *5.3  實現細節
    5.3.1  搜索樹的屬性
    5.3.2  搜索樹的高度
    5.3.3  在O(高度)時間內實現Search
    5.3.4  在O(高度)時間內實現Min和Max
    5.3.5  在O(高度)時間內實現Predecessor
    5.3.6  在O(n)時間內實現OutputSorted操作
    5.3.7  在O(高度)時間內實現Insert操作
    5.3.8  在O(高度)時間內實現Delete操作
    5.3.9  強化的搜索樹支持Select操作
    5.3.10  小測驗5.1的答案
  *5.4  平衡搜索樹
    5.4.1  努力實現更好的平衡
    5.4.2  旋轉
  5.5  本章要點
  5.6  章末習題
第6章  散列表和布隆過濾器
  6.1  支持的操作
  6.2  散列表的應用
    6.2.1  應用:消除重複
    6.2.2  應用:兩數之和問題
    6.2.3  應用:搜索巨大的狀態空間
      6.2.4  小測驗6.2的答案
  *6.3  實現的高層思路
    6.3.1  兩個簡單的解決方案
    6.3.2  散列函數
    6.3.3  衝突是不可避免的
    6.3.4  解決衝突的方法:鏈地址法
    6.3.5  解決衝突的方法:開放地址法
    6.3.6  良好的散列函數是怎麼樣的
    6.3.7  小測驗6.3至小測驗6.5的答案
  *6.4  更多的實現細節
    6.4.1  負載和性能
    6.4.2  管理散列表的負載
    6.4.3  選擇散列函數
    6.4.4  選擇衝突解決策略
    6.4.5  小測驗6.6的答案
  6.5  布隆過濾器的基礎知識
    6.5.1  布隆過濾器支持的操作
    6.5.2  布隆過濾器的應用
    6.5.3  布隆過濾器的實現
  *6.6  布隆過濾器的啟髮式分析
    6.6.1  啟髮式假設
    6.6.2  部分位被設置為
    6.6.3  假陽性率

    6.6.4  結束語
    6.6.5  小測驗6.7的答案
  6.7  本章要點
  6.8  章末習題
附錄  快速回顧漸進性表示法
部分習題答案

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032