數(shù)據(jù)結構與面向對象程序設計

出版時間:2012-5  出版社:清華大學出版社  作者:(美)梅因 等著,金名 等譯  頁數(shù):727  字數(shù):1137000  譯者:金名  
Tag標簽:無  

內容概要

  《數(shù)據(jù)結構與面向對象程序設計(c++版)(第4版)》是為計算機科學專業(yè)的第二門課程cs2編寫的,首先介紹了軟件開發(fā)的各個階段、c++面向對象程序設計思想,然后從軟件開發(fā)的角度,利用面向對象設計的思想,系統(tǒng)闡述了指針和動態(tài)數(shù)組、鏈表、模板類、迭代器、棧、隊列、遞歸實現(xiàn)、樹和圖等內容,并對排序與查找的相關算法進行了深入剖析。為了讓讀者鞏固所學知識,在每節(jié)后面都給出了大量練習題,并在每章后面給出廠答案。為了鍛煉讀者的動手能力,每章末給出了大量編程項目,在本書的配套網(wǎng)站www.cs.colorado.edu/~maln還給出了一些更具挑戰(zhàn)性的編程項目。
  《數(shù)據(jù)結構與面向對象程序設計(c++版)(第4版)》不僅非常適合于作為計算機及相關專業(yè)“數(shù)據(jù)結構”和“c++面向對象程序設計”的教材,也是計算機軟件開發(fā)人員的常備參考書。

作者簡介

作者:(美國)梅因(Michael Main) (美國)薩維特奇(Walter Savitch) 譯者:金名 等

書籍目錄

第1章 軟件開發(fā)的階段
 1.1規(guī)范說明、設計與實現(xiàn)
 1.2運行時間分析
 1.3測試與調試
 1.4本章小結
第2章 抽象數(shù)據(jù)類型與c++類
 2.1類與成員
 2.2構造函數(shù)
 2.3使用名稱空間、頭文件與實現(xiàn)文件
 2.4類與參數(shù)
 2.5操作符重載
 2.6標準模板庫與pair類
 2.7本章小結
第3章 容器類
 3.1bag類
 3.2編程項目:sequence類
 3.3交互式測試程序
 3.4stl中的multiset類及其迭代器
 3.5本章小結
第4章 指針與動態(tài)數(shù)組
 4.1指針與動態(tài)內存
 4.2把指針與數(shù)組作為參數(shù)
 4.3具有動態(tài)數(shù)組的bag類
 4.4有關動態(tài)類的說明
 4.5stl的string類與編程項目
 4.6編程項目:polynomial類
 4.7本章小結
第5章 鏈表
 5.1鏈表的基本節(jié)點類
 5.2鏈表工具包
 5.3用鏈表實現(xiàn)bag類
 5.4編程項目:用鏈表實現(xiàn)sequence類
 5.5動態(tài)數(shù)組、鏈表與雙向鏈表
 5.6標準模板庫的vector、list和deque類
 5.7本章小結
第6章 用模板、迭代器和stl進行軟件開發(fā)
 6.1模板函數(shù)
 6.2模板類
 6.3stl算法與迭代器的使用
 6.4節(jié)點模板類
 6.5鏈表的迭代器
 6.6含迭代器的鏈表版bag模板類
 6.7本章小結與5個bag類的小結
第7章 棧
 7.1stl的stack類
 7.2棧的應用
 7.3stack類的實現(xiàn)
 7.4更復雜的棧應用
 7.5本章小結
第8章 隊列
 8.1stl隊列
 8.2隊列的應用
 8.3隊列類的實現(xiàn)
 8.4實現(xiàn)stl的雙端隊列
 8.5棧、隊列和優(yōu)先隊列類的引用返回值
 8.6本章小結
第9章 遞歸思想
 9.1.遞歸函數(shù)
 9.2遞歸的研究:分形和迷宮
 9.3推導遞歸
 9.4本章小結
第10章 樹
 10.1樹的簡介
 10.2樹的表示法
 10.3二叉樹節(jié)點類
 10.4樹的遍歷
 10.5二叉查找樹
 10.6本章小結
第11章 平衡樹
 11.1堆
 11.2stl優(yōu)先隊列與堆算法
 11.3b樹
 11.4樹、日志和時間分析
 11.5stl的map類和multimap類
 11.6本章小結
第12章 查找
 12.1順序查找和二叉查找
 12.2開地址散列
 12.3鏈式散列
 12.4散列的時間分析
 12.5程序設計:使用stl向量的表類
 12.6tri庫擴展中的散列表
 12.7本章小結
第13章 排序
 13.1二次排序算法
 13.2遞歸排序算法
 13.3使用堆的o(n log n)算法
 13.4sn的排序與二叉查找
 13.5本章小結
第14章 派生類與繼承
 14.1派生類
 14.2仿真生態(tài)系統(tǒng)
 14.3虛擬成員函數(shù)和game類
 14.4本章小結
第15章 圖
 15.1圖的定義
 15.2圖的實現(xiàn)
 15.3圖的遍歷
 15.4路徑算法
 15.5本章小結
附錄
 附錄a ascii字符集
 附錄b大o表達式
 附錄c操作符的優(yōu)先順序
 附錄d命令行編譯和鏈接
 附錄e使用老式編譯器
 附錄fc什的輸入和輸出
 附錄g選擇庫函數(shù)
 附錄h標準模板類簡介
 附錄i一些有用函數(shù)的工具包
 附錄j基本風格指南
 附錄k下載gnu編譯器和軟件
 附錄l異常處理

章節(jié)摘錄

版權頁:   插圖:   不用死記硬背這些階段,通過本書的學習以及針對每個階段的練習,就可以熟練地掌握它們,而不是僅僅記住它們。僅僅記住這樣一個“形式化的列表”是錯誤的,因為這樣會讓人覺得軟件開發(fā)過程似乎只是一個接一個的離散步驟的單純序列。在實際的軟件開發(fā)中,各個階段之間的界限往往是模糊不清的。例如,在編寫代碼之前,有關解決方案的效率分析可能與設計過程同時進行了,底層設計的決議也有可能被推遲到了實現(xiàn)階段。而且,這些階段可能并不是一個接一個地出現(xiàn),通常,在這些階段之間還會有一個反復的過程。 軟件開發(fā)過程中的大部分工作并不依賴于任何特定的編程語言。規(guī)范說明、解決方案的設計與分析可能與特定的編程語言沒有或僅僅具有很少的關系。盡管如此,但在實現(xiàn)的具體細節(jié)時,我們的確需要決定采用何種編程語言。在本書中,所采用的語言是C++。 在開始本書的學習之前,應當了解的C++知識C++語言作為C語言的擴展,是由AT&T Bell實驗室的Bjarne Stroustrup設計的,其目的是為了支持面向對象程序設計(Object-Oriented Programming,OOP)。OOP是一種致力于信息隱藏和組件重用的技術。在本書中,將介紹一些重要的OOP原理,這些原理可以運用于你的設計和實現(xiàn)之中。 可以使用多種不同的C++編譯器來編譯本書中的代碼,但最理想的是,使用支持最新的ANSI/ISO C++標準特性的編譯器,本書中介紹了這一標準。但是,對于那些不能完全支持該標準的老式編譯器,有多種補救措施。 無論你使用何種編程環(huán)境,都應該熟悉對簡短C++程序的編寫、編譯和運行,都應當了解如何使用內置數(shù)據(jù)類型(如數(shù)值型、字符型和布爾型),還應能使用數(shù)組。 在本書中,將介紹C++標準庫,但你不需要具有任何關于該庫的預備知識。對標準庫的數(shù)據(jù)結構的學習,將有助于你理解各種不同方式之間的利弊,從而指導我們完成自己的數(shù)據(jù)結構的設計和實現(xiàn)。在設計自己的數(shù)據(jù)結構時,遵循標準庫的方式有兩個好處:其一是,其他程序員能夠很容易理解;其二是,可以從標準庫中獲得支持,例如,標準搜索與排序算法。 本書后面的內容將遵循標準庫的方式,來處理有關C++描述的數(shù)據(jù)結構的設計與實現(xiàn)。 1.1 節(jié)重點討論描述程序行為的技術,以及一些有關設計和實現(xiàn)的技巧。1.2節(jié)闡述了一種特定類型的分析方法:程序的運行時間分析。1.3節(jié)給出了一些有關測試與調試程序的技術。

編輯推薦

《數(shù)據(jù)結構與面向對象程序設計(C++版)(第4版)》是為計算機科學專業(yè)的第二門課程CS2編寫的,《數(shù)據(jù)結構與面向對象程序設計(C++版)(第4版)》系統(tǒng)全面介紹了數(shù)據(jù)結構與面向對象程序設計相關知識,《數(shù)據(jù)結構與面向對象程序設計(C++版)(第4版)》不僅非常適合于作為計算機及相關專業(yè)“數(shù)據(jù)結構”和“C++面向對象程序設計”的教材,也是計算機軟件開發(fā)人員的常備參考書。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    數(shù)據(jù)結構與面向對象程序設計 PDF格式下載


用戶評論 (總計10條)

 
 

  •   感覺還可以,課后編程項目很多適合做教材。
  •   新出的書,有個可能互動的外文網(wǎng)站是亮點吧~還得看自己的修煉?。?/li>
  •   書皮有點折了,不過不影響
  •   書很好,但是對我來說有點深。。。
  •   印刷還可以,但是紙張質量相當一般啊,太薄了。不過內容沒的說。
  •   正看著,心得還談不上
  •   書評有點皺,內容還可以.
  •   不錯,內容很充實,學到很多東西
  •   比嚴慧敏的那本書容易懂一點!
  •   很不錯,例子很詳細。
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7