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

數據結構與演算法分析C語言描述(原書第2版典藏版)/電腦科學叢書

  • 作者:(美)馬克·艾倫·維斯|譯者:馮舜璽
  • 出版社:機械工業
  • ISBN:9787111621959
  • 出版日期:2019/04/01
  • 裝幀:平裝
  • 頁數:400
人民幣:RMB 79 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書是國外數據結構與演算法分析方面的經典教材,原書曾被評為20世紀頂尖的30部電腦著作之一。作者Mark Allen Weiss在數據結構和演算法分析方面卓有建樹,他的數據結構和演算法分析的著作尤其暢銷,並受到廣泛好評。已被世界500余所大學用作教材。
    在本書中,作者更加精練並強化了他對演算法和數據結構方面創新的處理方法。通過C程序的實現。著重闡述了抽象數據類型的概念,並對演算法的效率、性能和運行時間進行了分析。

作者介紹
(美)馬克·艾倫·維斯|譯者:馮舜璽
    馬克·艾倫·維斯(Mark Allen Weiss)佛羅里達國際大學計算與信息科學學院教授、副院長,本科教育主任和研究生教育主任。他于1987年獲得普林斯頓大學電腦科學博士學位。師從Bob Sedgewick。他曾經擔任全美AP(Advanced Placemerlt)考試電腦學科委員會的主席(2000.2004)。他的主要研究興趣是數據結構、演算法和教育學。

目錄
出版者的話
譯者序
前言
第1章  引論
  1.1  本書討論的內容
  1.2  數學知識複習
    1.2.1  指數
    1.2.2  對數
    1.2.3  級數
    1.2.4  模運算
    1.2.5  證明方法
  1.3  遞歸簡論
  總結
  練習
  參考文獻
第2章  演算法分析
  2.1  數學基礎
  2.2  模型
  2.3  要分析的問題
  2.4  運行時間計算
    2.4.1  一個簡單的例子
    2.4.2  一般法則
    2.4.3  最大子序列和
    2.4.4  運行時間中的對數
    2.4.5  檢驗你的分析
    2.4.6  分析結果的準確性
  總結
  練習
  參考文獻
第3章  表、棧和隊列
  3.1  抽象數據類型
  3.2  表ADT
    3.2.1  表的簡單數組實現
    3.2.2  鏈表
    3.2.3  程序設計細節
    3.2.4  常見的錯誤
    3.2.5  雙鏈表
    3.2.6  循環鏈表
    3.2.7  例子
    3.2.8  鏈表的游標實現
  3.3  棧ADT
    3.3.1  棧模型
    3.3.2  棧的實現
    3.3.3  應用
  3.4  隊列ADT
    3.4.1  隊列模型
    3.4.2  隊列的數組實現
    3.4.3  隊列的應用
  總結
  練習

第4章  樹
  4.1  預備知識
    4.1.1  樹的實現
    4.1.2  樹的遍歷及應用
  4.2  二叉樹
    4.2.1  實現
    4.2.2  表達式樹
  4.3  查找樹ADT——二叉查找樹
    4.3.1  MakeEmpty
    4.3.2  Find
    4.3.3  FindMin和FindMax
    4.3.4  Insert
    4.3.5  Delete
    4.3.6  平均情形分析
  4.4  AVL樹
    4.4.1  單旋轉
    4.4.2  雙旋轉
  4.5  伸展樹
    4.5.1  一個簡單的想法
    4.5.2  展開
  4.6  樹的遍歷
  4.7  B樹
  總結
  練習
  參考文獻
第5章  散列
  5.1  一般想法
  5.2  散列函數
  5.3  分離鏈接法
  5.4  開放定址法
    5.4.1  線性探測法
    5.4.2  平方探測法
    5.4.3  雙散列
  5.5  再散列
  5.6  可擴散列
  總結
  練習
  參考文獻
第6章  優先隊列(堆)
  6.1  模型
  6.2  一些簡單的實現
  6.3  二叉堆
    6.3.1  結構性質
    6.3.2  堆序性質
    6.3.3  基本的堆操作
    6.3.4  其他的堆操作
  6.4  優先隊列的應用
    6.4.1  選擇問題
    6.4.2  事件模擬
  6.5  d-堆

  6.6  左式堆
    6.6.1  左式堆的性質
    6.6.2  左式堆的操作
  6.7  斜堆
  6.8  二項隊列
    6.8.1  二項隊列結構
    6.8.2  二項隊列操作
    6.8.3  二項隊列的實現
  總結
  練習
  參考文獻
第7章  排序
  7.1  預備知識
  7.2  插入排序
    7.2.1  演算法
    7.2.2  插入排序的分析
  7.3  一些簡單排序演算法的下界
  7.4  希爾排序
  7.5  堆排序
  7.6  歸併排序
  7.7  快速排序
    7.7.1  選取樞紐元
    7.7.2  分割策略
    7.7.3  小數組
    7.7.4  實際的快速排序常式
    7.7.5  快速排序的分析
    7.7.6  選擇的線性期望時間演算法
  7.8  大型結構的排序
  7.9  排序的一般下界
  7.10  桶式排序
  7.11  外部排序
    7.11.1  為什麼需要新的演算法
    7.11.2  外部排序模型
    7.11.3  簡單演算法
    7.11.4  多路合併
    7.11.5  多相合併
    7.11.6  替換選擇
  總結
  練習
  參考文獻
第8章  不相交集ADT
  8.1  等價關係
  8.2  動態等價性問題
  8.3  基本數據結構
  8.4  靈巧求並演算法
  8.5  路徑壓縮
  8.6  按秩求並和路徑壓縮的最壞情形
  8.7  一個應用
  總結
  練習

  參考文獻
第9章  圖論演算法
  9.1  若干定義
  9.2  拓撲排序
  9.3  最短路徑演算法
    9.3.1  無權最短路徑
    9.3.2  Dijkstra演算法
    9.3.3  具有負邊值的圖
    9.3.4  無圈圖
    9.3.5  所有點對最短路徑
  9.4  網路流問題
  9.5  最小生成樹
    9.5.1  Prim演算法
    9.5.2  Kruskal演算法
  9.6  深度優先搜索的應用
    9.6.1  無向圖
    9.6.2  雙連通性
    9.6.3  歐拉迴路
    9.6.4  有向圖
    9.6.5  查找強分支
  9.7  NP-完全性介紹
    9.7.1  難與易
    9.7.2  NP類
    9.7.3  NP-完全問題
  總結
  練習
  參考文獻
第10章  演算法設計技巧
  10.1  貪婪演算法
    10.1.1  一個簡單的調度問題
    10.1.2  Huffman編碼
    10.1.3  近似裝箱問題
  10.2  分治演算法
    10.2.1  分治演算法的運行時間
    10.2.2  最近點問題
    10.2.3  選擇問題
    10.2.4  一些運算問題的理論改進
  10.3  動態規劃
    10.3.1  用一個表代替遞歸
    10.3.2  矩陣乘法的順序安排
    10.3.3  最優二叉查找樹
    10.3.4  所有點對最短路徑
  10.4  隨機化演算法
    10.4.1  隨機數發生器
    10.4.2  跳躍表
    10.4.3  素性測試
  10.5  回溯演算法
    10.5.1  收費公路重建問題
    10.5.2  博弈
  總結

  練習
  參考文獻
第11章  攤還分析
  11.1  一個無關的智力問題
  11.2  二項隊列
  11.3  斜堆
  11.4  斐波那契堆
    11.4.1  切除左式堆中的節點
    11.4.2  二項隊列的懶惰合併
    11.4.3  斐波那契堆操作
    11.4.4  時間界的證明
  11.5  伸展樹
  總結
  練習
  參考文獻
第12章  高級數據結構及其實現
  12.1  自頂向下伸展樹
  12.2  紅黑樹
    12.2.1  自底向上插入
    12.2.2  自頂向下紅黑樹
    12.2.3  自頂向下刪除
  12.3  確定性跳躍表
  12.4  AA樹
  12.5  treap樹
  12.6  k-d樹
  12.7  配對堆
  總結
  練習
  參考文獻
索引

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們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