數(shù)據(jù)結(jié)構(gòu)與面向?qū)ο蟪绦蛟O(shè)計(jì)

出版時(shí)間:2012-5  出版社:清華大學(xué)出版社  作者:(美)梅因 等著,金名 等譯  頁(yè)數(shù):727  字?jǐn)?shù):1137000  譯者:金名  
Tag標(biāo)簽:無(wú)  

內(nèi)容概要

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

作者簡(jiǎn)介

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

書(shū)籍目錄

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

章節(jié)摘錄

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

編輯推薦

《數(shù)據(jù)結(jié)構(gòu)與面向?qū)ο蟪绦蛟O(shè)計(jì)(C++版)(第4版)》是為計(jì)算機(jī)科學(xué)專業(yè)的第二門課程CS2編寫的,《數(shù)據(jù)結(jié)構(gòu)與面向?qū)ο蟪绦蛟O(shè)計(jì)(C++版)(第4版)》系統(tǒng)全面介紹了數(shù)據(jù)結(jié)構(gòu)與面向?qū)ο蟪绦蛟O(shè)計(jì)相關(guān)知識(shí),《數(shù)據(jù)結(jié)構(gòu)與面向?qū)ο蟪绦蛟O(shè)計(jì)(C++版)(第4版)》不僅非常適合于作為計(jì)算機(jī)及相關(guān)專業(yè)“數(shù)據(jù)結(jié)構(gòu)”和“C++面向?qū)ο蟪绦蛟O(shè)計(jì)”的教材,也是計(jì)算機(jī)軟件開(kāi)發(fā)人員的常備參考書(shū)。

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    數(shù)據(jù)結(jié)構(gòu)與面向?qū)ο蟪绦蛟O(shè)計(jì) PDF格式下載


用戶評(píng)論 (總計(jì)10條)

 
 

  •   感覺(jué)還可以,課后編程項(xiàng)目很多適合做教材。
  •   新出的書(shū),有個(gè)可能互動(dòng)的外文網(wǎng)站是亮點(diǎn)吧~還得看自己的修煉??!
  •   書(shū)皮有點(diǎn)折了,不過(guò)不影響
  •   書(shū)很好,但是對(duì)我來(lái)說(shuō)有點(diǎn)深。。。
  •   印刷還可以,但是紙張質(zhì)量相當(dāng)一般啊,太薄了。不過(guò)內(nèi)容沒(méi)的說(shuō)。
  •   正看著,心得還談不上
  •   書(shū)評(píng)有點(diǎn)皺,內(nèi)容還可以.
  •   不錯(cuò),內(nèi)容很充實(shí),學(xué)到很多東西
  •   比嚴(yán)慧敏的那本書(shū)容易懂一點(diǎn)!
  •   很不錯(cuò),例子很詳細(xì)。
 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7