注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計C/C++及其相關數據結構與算法:面向對象的C++設計模式

數據結構與算法:面向對象的C++設計模式

數據結構與算法:面向對象的C++設計模式

定 價:¥62.00

作 者: (美)[B.R.普瑞思]Bruno R.Preiss著;胡廣斌等譯;胡廣斌譯
出版社: 電子工業(yè)出版社
叢編項:
標 簽: C++

購買這本書可以去


ISBN: 9787505354166 出版時間: 2000-04-01 包裝:
開本: 26cm 頁數: 651 字數:  

內容簡介

  本書是作者根據他在滑鐵盧大學計算機工程學院教授數據結構與算法課程的經驗編寫而成的,它采用C++面向對象的設計模式,不僅系統(tǒng)全面地介紹了各種傳統(tǒng)的數據結構,還把它們按照類如類層閃的現代理念予以展開,進而達到抽象結構與實際設計的完美統(tǒng)一。本書的后三章通過引人抽象問題求解的概念,集中講述了算法技術和各算法之間的關系。另外,作者運用一定的數學工具以及必要的分析技術和分析理論,對每種數據結構及相關算法都進行了時間和空間效率分析。作為教科書,本書作者還在每章后面布置了習題和設計項目,并在全書的后面給出了問題參考答案,希望讀者能在其中汲取寶貴的知識與經驗。

作者簡介

暫缺《數據結構與算法:面向對象的C++設計模式》作者簡介

圖書目錄

第1章  概要                  
 1. 1  本書的主要內容                  
 1. 2  面向對象的設計                  
 1. 3  對象分級與設計方法                  
 1. 4  需要了解的C++特性                  
 1. 5  本書是如何組織的?                  
 第2章  算法分析                  
 2. 1  一個細化的計算機模型                  
 2. 1. 1  基本公理                  
 2. 1. 2  例豆:算術級數求和                  
 2. 1. 3  數組下標操作                  
 2. 1. 4  例2:霍納(Horner)法則                  
 2. 1. 5  分析遞歸函數                  
 2. 1. 6  例3:找出數組中最大元素                  
 2. 1. 7  平均運行時間                  
 2. 1. 8  關于調和數                  
 2. 1. 9  最佳情況與最差情況的運行時間                  
 2. 1. 10  最后的公理                  
 2. 2  一個簡化的計算機模型                  
 2. 2. 1  例l, 求幾何級數之和                  
 2. 2. 2  關于算術級數求和                  
 2. 2. 3  例2:再次求幾何級數之和                  
 2. 2. 4  關于幾何級數求和                  
 2. 2. 5  例3:冪計算                  
 2. 2. 6  例4:再三求幾何級數之和                  
 習題                  
 設計項目                  
 第3章  漸近表示法                  
 3. 1  漸近上界--大O表示法                  
 3. 1. 1  一個簡單的例子                  
 3. 1. 2  大O表示法中的錯誤與陷阱                  
 3. 1. 3  大O的特性                  
 3. 1. 4  多項式                  
 3. 1. 5  對數                  
 3. 1. 6  緊湊大O界                  
 3. 1. 7  大O表示法中更多的錯誤與陷阱                  
 3. 1. 8  常用的大O表達式                  
 3. 2  漸近下界--Ω表示法                  
 3. 2. 1  一個簡單的例子                  
 3. 2. 2  再次關于多項式                  
 3. 3  更多的表示法--θ及小o表示法                  
 3. 4  算法漸近分析                  
 3. 4. 1  運行時間分析的大O規(guī)則                  
 3. 4. 2  例1:求級數的前項和                  
 3. 4. 3  例2:Fibonacci數                  
 3. 4. 4  例3:桶式排序                  
 3. 4. 5  現實檢查                  
 3. 4. 6  檢查你的分析                  
 習題                  
 設計項目                  
 第4章  基本數據結構                  
 4. 1  動態(tài)數組                  
 4. 1. 1  缺省構造函數                  
 4. 1. 2  數組構造函數                  
 4. 1. 3  備份構造函數                  
 4. 1. 4  析構函數                  
 4. 1. 5  數組成員函數                  
 4. 1. 6  數組下標操作符                  
 4. l. 7  數組大小的重調                  
 4. 2  單鏈表                  
 4. 2. 1  鏈表的實現                  
 4. 2. 2  鏈表元素                  
 4. 2. 3  缺省構造函數                  
 4. 2. 4  析構函數與Purge成員函數                  
 4. 2. 5  存取器                  
 4. 2. 6  First與Last函數                  
 4. 2. 7  前插                  
 4. 2. 8  添加                  
 4. 2. 9  備份構造函數與賦值操作符                  
 4. 2. 10  析取函數                  
 4. 2. 11  InsertAfter與InsertBefore函數                  
 4. 3  多維數組                  
 4. 3. 1  數組下標計算                  
 4. 3. 2  二維數組的實現                  
 4. 3. 3  C+十中多維數組的下標                  
 4. 3. 4  例:規(guī)范矩陣相乘                  
 習題                  
 設計項目                  
 第5章  數據類型與抽象                  
 5. 1  抽象數據類型                  
 5. 2  設計模式                  
 5. 2. 1  類層次                  
 5. 2. 2  對象                  
 5. 2. 3  NullObject單元集類                  
 5. 2. 4  內嵌類型的對象包裝                  
 5. 2. 5  容器                  
 5. 2. 6  訪問者                  
 5. 2. 7  迭代器                  
 5. 2. 8  NullIterator類                  
 5. 2. 9  直接存儲與間接存儲                  
 5. 2. 10  被包含對象的所有權                  
 5. 2. 11  關聯(lián)                  
 5. 2. 12  可搜索容器                  
 習題                  
 設計項目                  
 第6章  棧. 隊列及雙端隊列                  
 6. 1  棧                  
 6. 1. 1  棧的數組表示法                  
 6. 1. 2  棧的鏈表表示法                  
 6. 1. 3  應用                  
 6. 2  隊列                  
 6. 2. 1  隊列的數組表示法                  
 6. 2. 2  隊列的鏈表表示法                  
 6. 2. 3  應用                  
 6. 3  雙端隊列                  
 6. 3. l  雙端隊列的數組表示法                  
 6. 3. 2  雙端隊列的鏈表表示法                  
 6. 3. 3  雙向鏈表及循環(huán)鏈表                  
 習題                  
 設計項目                  
 第7章  有序線性表與排序表                  
 7. 1  有序線性表                  
 7. 1. 1  有序線性表的數組表示法                  
 7. 1. 2  有序線性表的鏈表表示法                  
 7. 1. 3  比較ListAsArray和ListAsLinkedList                  
 7. 1. 4  應用                  
 7. 2  排序表                  
 7. 2. 1  排序表的數組表示法                  
 7. 2. 2  排序表的鏈表表示法                  
 7. 2. 3  比較SortedListAsArrny和SortedListAsLinkedList                  
 7. 2. 4  應用                  
 習題                  
 設計項目                  
 第8章  散列. 哈希表及分散表                  
 8. 1  散列的基本知識                  
 8. 1. 1  關鍵字和散列函數                  
 8. 2  散列法                  
 8. 2. 1  相除散列法                  
 8. 2. 2  平方取中散列法                  
 8. 2. 3  相乘散列法                  
 8. 2. 4  Fibonacci散列法                  
 8. 3  散列函數的實現                  
 8. 3. 1  整型關鍵字                  
 8. 3. 2  浮點型關鍵字                  
 8. 3. 3  字符串關鍵字                  
 8. 3. 4  散列對象                  
 8. 3. 5  散列容器                  
 8. 3. 6  使用關聯(lián)                  
 8. 4  哈希表                  
 8. 4. 1  拉鏈法                  
 8. 4. 2  平均情況分析                  
 8. 5  分散表                  
 8. 5. 1  鏈式分散表                  
 8. 5. 2  平均情況分析                  
 8. 6  使用開地址法的分散表                  
 8. 6. 1  線性探查                  
 8. 6. 2  二次探查                  
 8. 6. 3  雙散列法                  
 8. 6. 4  開地址法的實現                  
 8. 6. 5  平均情況分析                  
 8. 7  應用                  
 習題                  
 設計項目                  
 第9章  樹                  
 9. 1  基礎                  
 9. 2  N叉樹                  
 9. 3  二叉樹                  
 9. 4  樹的遍歷                  
 9. 5  表達式樹                  
 9. 6  樹的實現                  
 9. 6. 1  樹的遍歷                  
 9. 6. 2  樹迭代器                  
 9. 6. 3  廣義樹                  
 9. 6. 4  N叉樹                  
 9. 6. 5  二叉樹                  
 9. 6. 6  二叉樹的遍歷                  
 9. 6. 7  樹的比較                  
 9. 6. 8  應用                  
 習題                  
 設計項目                  
 第10章  查找樹                  
 10. 1  基礎知識                  
 10. 1. 1  M路查找樹                  
 10. 1. 2  二叉查找樹                  
 10. 2  搜索查找樹                  
 10. 2. 1  搜索M路查找樹                  
 1O. 2. 2  搜索二叉樹                  
 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  AVL查找樹                  
 10. 5. 1  AVL樹的實現                  
 10. 5. 2  在AVL樹中插人數據項                  
 10. 5. 3  從AVL樹中刪除數據項                  
 10. 6  M路查找樹                  
 10. 6. 1  M路查找樹的實現                  
 10. 6. 2  在M路查找樹中查找數據項                  
 10. 6. 3  在M路查找樹中插人數據項                  
 10. 6. 4  從M路查找樹中刪除數據項                  
 10. 7  B樹                  
 10. 7. 1  B樹的實現                  
 10. 7. 2  在B樹中插人數據項                  
 10. 7. 3  從B樹中刪除數據項                  
 10. 8  應用                  
 習題                  
 設計項目                  
 第11章  堆和優(yōu)先隊列                  
 11. 1  基礎知識                  
 11. 2  二叉堆                  
 11. 2. 1  完全樹                  
 11. 2. 2  二叉堆的實現                  
 11. 2. 3  在二叉堆中插入數據項                  
 11. 2. 4  從二叉堆中刪除數據項                  
 11. 3  左翼堆                  
 11. 3. 1  左翼樹                  
 11. 3. 2  左翼堆的實現                  
 11. 3. 3  左翼堆的合并                  
 11. 3. 4  在左翼堆中插入數據項                  
 11. 3. 5  從左翼堆中刪除數據項                  
 11. 4  二項隊列                  
 11. 4. 1  二項樹                  
 11. 4. 2  二項隊列                  
 11. 4. 3  實現                  
 11. 4. 4  二項隊列的合并                  
 11. 4. 5  在二項隊列中插入數據項                  
 11. 4. 6  從二項隊列中刪除數據項                  
 11. 5  應用                  
 11. 5. 1  離散事件模擬                  
 11. 5. 2  實現                  
 習題                  
 設計項目                  
 第12章  集合. 多重集和分區(qū)                  
 12. 1  基礎知識                  
 12. 1. 1  集合的實現                  
 12. 2  數組和位矢量集合                  
 12. 2. 1  位矢量集合                  
 12. 3  多重集                  
 12. 3. 1  多重集的數組表示法                  
 12. 3. 2  多重集的鏈表表示法                  
 12. 4  分區(qū)                  
 12. 4. 1  用森林表示分區(qū)                  
 12. 4. 2  折疊查找                  
 12. 4. 3  按大小合并                  
 12. 4. 4  按高度或層號合并                  
 12. 5  應用                  
 習題                  
 設計項目                  
 第13章  動態(tài)存儲分配:另一種堆                  
 13. 1  基礎                  
 13. 1. 1  C++ Magic                  
 13. 1. 2  堆                  
 13. 2  單鏈自由存儲器                  
 13. 2. 1  實現                  
 13. 3  雙鏈自由存儲器                  
 13. 3. 1  實現                  
 13. 4  伙伴存儲管理系統(tǒng)                  
 13. 4. 1  實現                  
 13. 5  應用                  
 13. 5. 1  實現                  
 習題                  
 設計項目                  
 第14章  算法模式和問題求解                  
 14. 1  蠻干算法和貪心算法                  
 14. 1. 1  例1:數錢                  
 14. 1. 2  例2:0/l背包問題                  
 14. 2  回溯算法                  
 14. 2. 1  例1:平衡稱                  
 14. 2. 2  解空間的表示                  
 14. 2. 3  抽象回溯求解程序                  
 14. 2. 4  分支界限求解程序                  
 14. 2. 5  例2:再次分析0/1背包問題                  
 14. 3  自頂向下算法:分治算法                  
 14. 3. 1  例1:二分法查找                  
 14. 3. 2  例2:求解Fibonacci數                  
 14. 3. 3  例3:歸并排序                  
 14. 3. 4  分治算法的運行時間                  
 14. 3. 5  例個矩陣相乘                  
 14. 4  自底向上算法:動態(tài)程序設計                  
 14. 4. 1  例1:廣義Fibonacci數                  
 14. 4. 2  例2:求解二項式系數                  
 14. 4. 3  應用:排版問題                  
 14. 5  隨機化算法                  
 14. 5. 1  產生隨機數                  
 14. 5. 2  隨機變量                  
 14. 5. 3  蒙特卡羅法                  
 14. 5. 4  模擬退火法                  
 習題                  
 設計項目                  
 第15章  排序算法和排序器                  
 15. 1  基礎知識                  
 15. 2  排序和排序器                  
 15. 3  插入排序                  
 15. 3. 1  直接插入排序                  
 15. 3. 2  平均運行時間                  
 15. 3. 3  二分法插入排序                  
 15. 4  交換排序                  
 15. 4. 1  冒泡排序                  
 15. 4. 2  快速排序                  
 15. 4. 3  運行時間分析                  
 15. 4. 4  平均運行時間                  
 15. 4. 5  軸值的選擇                  
 15. 5  選擇排序                  
 15. 5. 1  直接選擇排序                  
 15. 5. 2  堆排序                  
 15. 5. 3  堆的建立                  
 15. 6  歸并排序                  
 15. 7  排序算法的下界                  
 15. 8  分配排序                  
 15. 8. 1  桶式排序                  
 15. 8. 2  基數排序                  
 15. 9  算法性能分析                  
 習題                  
 設計項目                  
 第16章  圖和圖算法                  
 16. 1  基礎知道                  
 16. 1. 1  圖的表示法                  
 16. 2  圖的實現                  
 16. 2. 1  頂點的實現                  
 16. 2. 3  抽象圖和有向圖                  
 16. 2. 4  無向圖的實現                  
 16. 2. 5  邊帶權圖和頂點帶權圖                  
 16. 2. 6  圖表示法的比較                  
 16. 3  圖的遍歷                  
 16. 3. 1  深度優(yōu)先遍歷                  
 16. 3. 2  廣度優(yōu)先遍歷                  
 16. 3. 3  拓撲排序                  
 16. 3. 4  圖遍歷的應用:檢查圖的回路及連通性                  
 16. 4  最短路徑算法                  
 16. 4. 1  單源最短路徑                  
 16. 4. 2  每對頂點間的最短路徑                  
 16. 5  最小支撐樹                  
 16. 5. 1  Prim算法                  
 16. 5. 2  Kruskal算法                  
 16. 6  應用:關鍵路徑分析                  
 習題                  
 設計項目                  
 附錄A  C++與面向對象編程                  
 附錄B  類層次圖                  
 附錄C  字符碼                  
 參考答案                  

本目錄推薦

掃描二維碼
Copyright ? 讀書網 afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號