發表於2024-11-22
Sartaj Sahni,佛羅裏達大學計算機與信息科學工程係傑齣教授,歐洲科學院院士,美國電氣和電子工程師協會(IEEE)、美國計算機協會(ACM)、美國科學促進會(AAAS)和明尼蘇達超級計算機研究所的成員,坎普爾印度理工學院( lIT)的傑齣校友。Sahni博士獲得1997年IEEE計算機分會的Taylor L Booth教育奬,2003年IEEE計算機分會的W.Wallace McDowell奬和2003年ACM的Karl Karlstrom傑齣教育傢奬。他目前還擔任ACM《Computing Surveys》期刊的總編輯,還是17個期刊編委會成員。他在坎普爾印度理工學院獲得電子工程學士學位,在康奈爾大學獲得計算機科學碩士和博士學位,發錶過250多篇論文,編寫瞭1 5本教科書,研究成果所涉及的領域包括有效算法的設計與分析、並行計算、互聯網、自動化設計和醫用算法。
Data Structures, Algorithms, and Applications in C++, Second Edition
齣版者的話
譯者序
前言
第一部分 預備知識
第1章 C++迴顧
1.1 引言
1.2 函數與參數
1.2.1 傳值參數
1.2.2 模闆函數
1.2.3 引用參數
1.2.4 常量引用參數
1.2.5 返迴值
1.2.6 重載函數
1.3 異常
1.3.1 拋齣異常
1.3.2 處理異常
1.4 動態存儲空間分配
1.4.1 操作符new
1.4.2 一維數組
1.4.3 異常處理
1.4.4 操作符delete
1.4.5 二維數組
1.5 自有數據類型
1.5.1 類currency
1.5.2 一種不同的描述方法
1.5.3 操作符重載
1.5.4 友元和保護性類成員
1.5.5 增加#ifndef、#define和#endif語句
1.6 異常類illegalParameterValue
1.7 遞歸函數
1.7.1 遞歸的數學函數
1.7.2 歸納
1.7.3 C++遞歸函數
1.8 標準模闆庫
1.9 測試與調試
1.9.1 什麼是測試
1.9.2 測試數據的設計
1.9.3 調試
1.10 參考及推薦讀物
第2章 程序性能分析
2.1 什麼是程序性能
2.2 空間復雜度
2.2.1 空間復雜度的組成
2.2.2 舉例
2.3 時間復雜度
2.3.1 時間復雜度的組成
2.3.2 操作計數
2.3.3 最好、最壞和平均操作計數
2.3.4 步數
第3章 漸近記法
3.1 引言
3.2 漸近記法
3.2.1 大Ο記法
3.2.2 漸近記法Ω和Θ
3.3 漸近數學(可選)
3.3.1 大O記法
3.3.2 Ω記法
3.3.3 Θ記法
3.3.4 小ο記法
3.3.5 特性
3.4 復雜度分析舉例
3.5 實際復雜度
3.6 參考及推薦讀物
第4章 性能測量
4.1 引言
4.2 選擇實例的大小
4.3 設計測試數據
4.4 實驗設計
4.5 高速緩存
4.5.1 簡單計算機模型
4.5.2 緩存未命中對運行時間的影響
4.5.3 矩陣乘法
4.6 參考及推薦讀物
第二部分 數據結構
第5章 綫性錶——數組描述
5.1 數據對象和數據結構
5.2 綫性錶數據結構
5.2.1 抽象數據類型linearList
5.2.2 抽象類linearList
5.3 數組描述
5.3.1 描述
5.3.2 變長一維數組
5.3.3 類arrayList
5.3.4 C++迭代器
5.3.5 arrayList的一個迭代器
5.4 vector的描述
5.5 在一個數組中實現的多重錶
5.6 性能測量
5.7 參考及推薦讀物
第6章 綫性錶——鏈式描述
6.1 單嚮鏈錶
6.1.1 描述
6.1.2 結構chainNode
6.1.3 類chain
6.1.4 抽象數據類型linearList的擴充
6.1.5 類extendedChain
6.1.6 性能測量
6.2 循環鏈錶和頭節點
6.3 雙嚮鏈錶
6.4 鏈錶用到的詞匯錶
6.5 應用
6.5.1 箱子排序
6.5.2 基數排序
6.5.3 凸包
6.5.4 並查集
第7章 數組和矩陣
7.1 數組
7.1.1 抽象數據類型
7.1.2 C++數組的索引
7.1.3 行主映射和列主映射
7.1.4 用數組的數組來描述
7.1.5 行主描述和列主描述
7.1.6 不規則二維數組
7.2 矩陣
7.2.1 定義和操作
7.2.2 類matrix
7.3 特殊矩陣
7.3.1 定義和應用
7.3.2 對角矩陣
7.3.3 三對角矩陣
7.3.4 三角矩陣
7.3.5 對稱矩陣
7.4 稀疏矩陣
7.4.1 基本概念
7.4.2 用單個綫性錶描述
7.4.3 用多個綫性錶描述
7.4.4 性能測量
第8章 棧
8.1 定義和應用
8.2 抽象數據類型
8.3 數組描述
8.3.1 作為一個派生類實現
8.3.2 類arrayStack
8.3.3 性能測量
8.4 鏈錶描述
8.4.1 類derivedLinkedStack
8.4.2 類linkedStack
8.4.3 性能測量
8.5 應用
8.5.1 括號匹配
8.5.2 漢諾塔
8.5.3 列車車廂重排
8.5.4 開關盒布綫
8.5.5 離綫等價類問題
8.5.6 迷宮老鼠
8.6 參考及推薦讀物
第9章 隊列
9.1 定義和應用
9.2 抽象數據類型
9.3 數組描述
9.3.1 描述
9.3.2 類arrayQueue
9.4 鏈錶描述
9.5 應用
9.5.1 列車車廂重排
9.5.2 電路布綫
9.5.3 圖元識彆
9.5.4 工廠仿真
9.6 參考及推薦讀物
第10章 跳錶和散列
10.1 字典
10.2 抽象數據類型
10.3 綫性錶描述
10.4 跳錶錶示(可選)
10.4.1 理想情況
10.4.2 插入和刪除
10.4.3 級的分配
10.4.4 結構skipNode
10.4.5 類skipList
10.4.6 skipList方法的復雜度
10.5 散列錶描述
10.5.1 理想散列
10.5.2 散列函數和散列錶
10.5.3 綫性探查
10.5.4 鏈式散列
10.6 一個應用——文本壓縮
10.6.1 LZW壓縮
10.6.2 LZW壓縮的實現
10.6.3 LZW解壓縮
10.6.4 LZW解壓縮的實現
10.6.5 性能評價
10.7 參考及推薦讀物
第11章 二叉樹和其他樹
11.1 樹
11.2 二叉樹
11.3 二叉樹的特性
11.4 二叉樹的描述
11.4.1 數組描述
11.4.2 鏈錶描述
11.5 二叉樹常用操作
11.6 二叉樹遍曆
11.7 抽象數據類型BinaryTree
11.8 類linkedBinaryTree
11.9 應用
11.9.1 設置信號放大器
11.9.2 並查集
11.10 參考及推薦讀物
第12章 優先級隊列
12.1 定義和應用
12.2 抽象數據類型
12.3 綫性錶
12.4 堆
12.4.1 定義
12.4.2 大根堆的插入
12.4.3 大根堆的刪除
12.4.4 大根堆的初始化
12.4.5 類maxHeap
12.4.6 堆和STL
12.5 左高樹
12.5.1 高度優先與寬度優先的最大及最小左高樹
12.5.2 最大HBLT的插入
12.5.3 最大HBLT的刪除
12.5.4 兩棵最大HBLT的閤並
12.5.5 初始化
12.5.6 類maxHblt
12.6 應用
12.6.1 堆排序
12.6.2 機器調度
12.6.3 霍夫曼編碼
12.7 參考及推薦讀物
第13章 競賽樹
13.1 贏者樹和應用
13.2 抽象數據類型WinnerTree
13.3 贏者樹的實現
13.3.1 錶示
13.3.2 贏者樹的初始化
13.3.3 重新組織比賽
13.3.4 類completeWinnerTree
13.4 輸者樹
13.5 應用
13.5.1 用最先適配法求解箱子裝載問題
13.5.2 用相鄰適配法求解箱子裝載問題
13.6 參考及推薦讀物
第14章 搜索樹
14.1 定義
14.1.1 二叉搜索樹
14.1.2 索引二叉搜索樹
14.2 抽象數據類型
14.3 二叉搜索樹的操作和實現
14.3.1 類binarySearchTree
14.3.2 搜索
14.3.3 插入
14.3.4 刪除
14.3.5 二叉搜索樹的高度
14.4 帶有相同關鍵字元素的二叉搜索樹
14.5 索引二叉搜索樹
14.6 應用
14.6.1 直方圖
14.6.2 箱子裝載問題的最優匹配法
14.6.3 交叉分布
第15章 平衡搜索樹
15.1 AVL樹
15.1.1 定義
15.1.2 AVL樹的高度
15.1.3 AVL樹的描述
15.1.4 AVL搜索樹的搜索
15.1.5 AVL搜索樹的插入
15.1.6 AVL搜索樹的刪除
15.2 紅-黑樹
15.2.1 基本概念
15.2.2 紅-黑樹的描述
15.2.3 紅-黑樹的搜索
15.2.4 紅-黑樹的插入
15.2.5 紅-黑樹的刪除
15.2.6 實現細節的考慮及復雜性分析
15.3 分裂樹
15.3.1 介紹
15.3.2 分裂樹的操作
15.3.3 摺算復雜性
15.4 B-樹
15.4.1 索引順序訪問方法
15.4.2 m叉搜索樹
15.4.3 m階B-樹
15.4.4 B-樹的高度
15.4.5 B-樹的搜索
15.4.6 B-樹的插入
15.4.7 B-樹的刪除
15.4.8 節點結構
15.5 參考及推薦讀物
第16章 圖
16.1 基本概念
16.2 應用和更多的概念
16.3 特性
16.4 抽象數據類型graph
16.5 無權圖的描述
16.5.1 鄰接矩陣
16.5.2 鄰接鏈錶
16.5.3 鄰接數組
16.6 加權圖的描述
16.7 類實現
16.7.1 不同的類
16.7.2 鄰接矩陣類
16.7.3 擴充chain類
16.7.4 鏈錶類
16.8 圖的遍曆
16.8.1 廣度優先搜索
16.8.2 廣度優先搜索的實現
16.8.3 方法graph::bfs的復雜性分析
16.8.4 深度優先搜索
16.8.5 深度優先搜索的實現
16.8.6 方法graph::dfs的復雜性分析
16.9 應用
16.9.1 尋找一條路徑
16.9.2 連通圖及其構成
16.9.3 生成樹
第三部分 算法設計方法
第17章 貪婪算法
17.1 最優化問題
17.2 貪婪算法思想
17.3 應用
17.3.1 貨箱裝載
17.3.2 0/1背包問題
17.3.3 拓撲排序
17.3.4 二分覆蓋
17.3.5 單源最短路徑
17.3.6 最小成本生成樹
17.4 參考及推薦讀物
第18章 分而治之
18.1 算法思想
18.2 應用
18.2.1 殘缺棋盤
18.2.2 歸並排序
18.2.3 快速排序
18.2.4 選擇
18.2.5 相距最近的點對
18.3 解遞歸方程
18.4 復雜度的下限
18.4.1 最小最大問題的下限
18.4.2 排序算法的下限
第19章 動態規劃
19.1 算法思想
19.2 應用
19.2.1 0/1背包問題
19.2.2 矩陣乘法鏈
19.2.3 所有頂點對之間的最短路徑
19.2.4 帶有負值的單源最短路徑
19.2.5 網組的無交叉子集
19.3 參考及推薦讀物
第20章 迴溯法
20.1 算法思想
20.2 應用
20.2.1 貨箱裝載
20.2.2 0/1背包問題
20.2.3 最大完備子圖
20.2.4 旅行商問題
20.2.5 電路闆排列
第21章 分支定界
21.1 算法思想
21.2 應用
21.2.1 貨箱裝載
21.2.2 0/1背包問題
21.2.3 最大完備子圖
21.2.4 旅行商問題
21.2.5 電路闆排列
計算機科學叢書·數據結構、算法與應用:C++語言描述(原書第2版) [Data Struetures,Algorithms,and Applicarions in C++ Second Edition 下載 mobi pdf epub txt 電子書 格式 2024
計算機科學叢書·數據結構、算法與應用:C++語言描述(原書第2版) [Data Struetures,Algorithms,and Applicarions in C++ Second Edition 下載 mobi epub pdf 電子書還沒看,但不知道為什麼紙張發黃,齣版日期又是今年1月。。。
評分書好,好書!
評分此用戶未填寫評價內容
評分。。。。。。。。。。。。。。。。。。。。。
評分懷疑盜版書籍,我以後盡量不到京東買書瞭。照片前一本是相同係列的其他書,後一張是本次京東買的,質量相差不是一點點。特彆是紙張質量!
評分發貨速度快,是正品,內容很好
評分不開心!不是正版!不是正版!!不是正版!!!(重要的事說三遍)
評分數據結構經典教材,計算機專業考博參考書,值得細細研讀
評分數據結構經典教材,計算機專業考博參考書,值得細細研讀
計算機科學叢書·數據結構、算法與應用:C++語言描述(原書第2版) [Data Struetures,Algorithms,and Applicarions in C++ Second Edition mobi epub pdf txt 電子書 格式下載 2024