數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)
定 價(jià):49 元
- 作者:朱仲濤
- 出版時(shí)間:2009/3/1
- ISBN:9787302186960
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP312C
- 頁碼:470
- 紙張:膠版紙
- 版次:2
- 開本:16K
本書是最經(jīng)典數(shù)據(jù)結(jié)構(gòu)教材的最新版本,國(guó)內(nèi)外大多數(shù)的同類教材都是以本書為藍(lán)本編寫而來的。
本書用C作為描述語言,全面而生動(dòng)地介紹了數(shù)據(jù)結(jié)構(gòu)的有關(guān)知識(shí),如數(shù)組、棧、隊(duì)列、鏈表、樹和圖,以及構(gòu)成所有軟件基礎(chǔ)的排序散列技術(shù)。此外,本書還介紹了各種高級(jí)或特殊數(shù)據(jù)結(jié)構(gòu),如優(yōu)先級(jí)隊(duì)列、高效二叉查找樹、多路查找樹等。本書對(duì)大多數(shù)算法都給出了計(jì)算時(shí)間在最優(yōu)、最差情形下的復(fù)雜度分析。
本書不僅可以作為計(jì)算機(jī)及相關(guān)專業(yè)本科生“數(shù)據(jù)結(jié)構(gòu)”課程的教材,也可以作為研究生第一學(xué)年的“高等數(shù)據(jù)結(jié)構(gòu)”課程的教材,同時(shí),本書所介紹的各種算法的C語言實(shí)現(xiàn),對(duì)有關(guān)專業(yè)人員也具有很好的參考價(jià)值。
《數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)》是一本優(yōu)秀的數(shù)據(jù)結(jié)構(gòu)教材,取材全面,難易適中,內(nèi)容組織合理,詳略得當(dāng),深入淺出,而且論證邏輯性強(qiáng),所以廣為國(guó)內(nèi)外高校計(jì)算機(jī)專業(yè)選用。此外,這本英文教材對(duì)國(guó)內(nèi)許多數(shù)據(jù)結(jié)構(gòu)教材的編寫也有顯著影響。此中譯本是《數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)》c語言版第2版的譯本,與第1版相比,新版篇幅擴(kuò)張很大,內(nèi)容全面更新,全書覆蓋①線性(序)數(shù)據(jù)類型、②樹型數(shù)據(jù)類型、③網(wǎng)狀數(shù)據(jù)類型,以及④排序算法與⑤查找算法;緮(shù)據(jù)結(jié)構(gòu)包括線性表(數(shù)組與鏈表)、棧與隊(duì)列、樹、圖等經(jīng)典內(nèi)容,特點(diǎn)為運(yùn)用抽象數(shù)據(jù)類型(ADT)觀點(diǎn)一一呈現(xiàn)。另外,書中包含大量符合ANSIC標(biāo)準(zhǔn)的程序,實(shí)例豐富,習(xí)題眾多,并有大量圖表!稊(shù)據(jù)結(jié)構(gòu)基礎(chǔ)(C語言版)第2版》最鮮明的特點(diǎn)是:用幾乎一半篇幅,即第8~12章,詳細(xì)討論了各種查找表結(jié)構(gòu)及其查找算法,而且內(nèi)容組織很新穎。這最后5章既包括查找法的經(jīng)典內(nèi)容,如Hash法和AVL樹等;也包括數(shù)據(jù)結(jié)構(gòu)研究的新進(jìn)展,如分?jǐn)倧?fù)雜度分析等;還包括當(dāng)前數(shù)據(jù)結(jié)構(gòu)研究的熱點(diǎn),即各種堆結(jié)構(gòu)。這部分內(nèi)容特別適合數(shù)據(jù)結(jié)構(gòu)提高課程,也特別適合學(xué)過基本數(shù)據(jù)結(jié)構(gòu)的讀者自學(xué)提高。以下列出《數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)(C語言版)第2版》有關(guān)查找的內(nèi)容及其編排體系。
Ellis Horowitz,是南加州大學(xué)計(jì)算機(jī)與電子工程系的教授。Horowitz博士已編著了10多本教材,并發(fā)表了大量學(xué)術(shù)論文。
Sartaj Sahni是佛羅里達(dá)大學(xué)計(jì)算機(jī)與信息科學(xué)系的杰出教授和講座教授。Sahni博士已發(fā)表300多篇學(xué)術(shù)研究論文,編著了15本教材。
Susan Anderson-Freed是伊利諾伊衛(wèi)斯理大學(xué)計(jì)算機(jī)教授。她的研究領(lǐng)域是數(shù)據(jù)庫管理系統(tǒng)、Web設(shè)計(jì)與開發(fā)。她畢業(yè)于諾伯特大學(xué),并在印第安納大學(xué)獲得碩士和博士學(xué)位,以及在Bradley大學(xué)獲得計(jì)算機(jī)理學(xué)地碩士學(xué)位。她從1977年起就供職于伊利諾伊衛(wèi)斯理大學(xué)。
第1章 基本概念
1.1 概觀:系統(tǒng)生命周期
1.2 指針和動(dòng)態(tài)存儲(chǔ)分配
1.2.1 指針
1.2.2 動(dòng)態(tài)存儲(chǔ)分配
1.2.3 指針隱患
1.3 算法形式規(guī)范
1.3.1 綜論
1.3.2 遞歸算法
1.4 數(shù)據(jù)抽象
1.5 性能分析
1.5.1 空間復(fù)雜度
1.5.2 時(shí)間復(fù)雜度
1.5.3 漸近記號(hào)(O,Q,)
1.5.4 實(shí)際復(fù)雜度
1.6 性能度量
1.6.1 定時(shí)
1.6.2 生成測(cè)試數(shù)據(jù)
1.7 參考文獻(xiàn)和選讀材料
第2章 數(shù)組和結(jié)構(gòu)
2.1 數(shù)組
2.1.1 數(shù)組的抽象數(shù)據(jù)類型
2.1.2 c語言的數(shù)組
2.2 數(shù)組的動(dòng)態(tài)存儲(chǔ)分配
2.2.1 一維數(shù)組
2.2.2 二維數(shù)組
2.3 結(jié)構(gòu)體和聯(lián)合體
2.3.1 結(jié)構(gòu)體
2.3.2 聯(lián)合體
2.3.3 結(jié)構(gòu)的內(nèi)部實(shí)現(xiàn)
2.3.4 自引用結(jié)構(gòu)
2.4 多項(xiàng)式
2.4.1 多項(xiàng)式的抽象數(shù)據(jù)類型
2.4.2 多項(xiàng)式的表示
2.4.3 多項(xiàng)式加法
2.5 稀疏矩陣
2.5.1 稀疏矩陣的抽象數(shù)據(jù)類型
2.5.2 稀疏矩陣的表示
2.5.3 矩陣轉(zhuǎn)置
2.5.4 矩陣相乘
2.6 多維數(shù)組的表示
2.7 字符串
2.7.1 字符串的抽象數(shù)據(jù)類型
2.7.2 C語言的字符串
2.7.3 模式匹配
2.8 參考文獻(xiàn)和選讀材料
2.9 補(bǔ)充習(xí)題
第3章 棧與隊(duì)列
3.1 棧
3.2 動(dòng)態(tài)棧
3.3 隊(duì)列
3.4 動(dòng)態(tài)循環(huán)隊(duì)列
3.5 迷宮問題
3.6 表達(dá)式求值
3.6.1 表達(dá)式
3.6.2 后綴表達(dá)式求值
3.6.3 中綴表達(dá)式轉(zhuǎn)換成后綴表達(dá)式
3.7 多重棧與多重隊(duì)列
3.8 補(bǔ)充習(xí)題
第4章 鏈表
4.1 單向鏈表
4.2 用C語言表示單向鏈表
4.3 鏈?zhǔn)綏Ec鏈?zhǔn)疥?duì)列
4.4 多項(xiàng)式
4.4.1 多項(xiàng)式表示
4.4.2 多項(xiàng)式加法
4.4.3 銷毀多項(xiàng)式
4.4.4 循環(huán)鏈表與多項(xiàng)式
4.4.5 小結(jié)
4.5 其它鏈表操作
4.5.1 單向鏈表操作
4.5.2 循環(huán)鏈表操作
4.6 等價(jià)類
4.7 稀疏矩陣
4.7.1 稀疏矩陣表示
4.7.2 輸入稀疏矩陣
4.7.3 輸出稀疏矩陣
4.7.4 銷毀稀疏矩陣
4.8 雙向鏈表
第5章 樹
5.1 引論
5.1.1 術(shù)語
5.1.2 樹的表示
5.2 二叉樹
5.2.1 二叉樹的抽象數(shù)據(jù)類型
5.2.2 二叉樹的性質(zhì)
5.2.3 二叉樹的表示
5.3 遍歷二叉樹
5.3.1 中序遍歷
5.3.2 先序遍歷
5.3.3 后序遍歷
5.3.4 非遞歸(循環(huán))中序遍歷
5.3.5 層序遍歷
5.3.6 不設(shè)棧遍歷二叉樹
5.4 其它二叉樹操作
5.4.1 復(fù)制二叉樹
5.4.2 判斷兩個(gè)二叉樹全等
5.4.3 可滿足性問題
5.5 線索二叉樹
5.5.1 線索
5.5.2 中序遍歷線索二叉樹
5.5.3 線索二叉樹插入結(jié)點(diǎn)
5.6 堆
5.6.1 優(yōu)先級(jí)隊(duì)列
5.6.2 大根堆定義
5.6.3 大根堆插入操作
5.6.4 大根堆刪除操作
5.7 二叉查找樹
5.7.1 定義
5.7.2 二叉查找樹的查找
5.7.3 二叉查找樹的插入
5.7.4 二叉查找樹的刪除
5.7.5 二叉查找樹的合并與分裂
5.7.6 二叉查找樹的高度
5.8 選拔樹
5.8.1 引子
5.8.2 優(yōu)勝樹
5.8.3 淘汰樹
5.9 森林
5.9.1 森林轉(zhuǎn)換為二叉樹
5.9.2 遍歷森林
5.10 不相交集合的表示
5.10.1 引子
5.10.2 合并與查找操作
5.10.3 劃分等價(jià)類
5.11 二叉樹的計(jì)數(shù)
5.11.1 不同態(tài)二叉樹
5.11.2 棧置換
5.11.3 矩陣乘法
5.11.4 不同二叉樹的數(shù)目
5.12 參考文獻(xiàn)和選讀材料
第6章 圖
6.1 圖的抽象數(shù)據(jù)類型
6.1.1 引子
6.1.2 圖的定義和術(shù)語
6.1.3 圖的表示
6.2 圖的基本操作
6.2.1 深度優(yōu)先搜索
6.2.2 廣度優(yōu)先搜索
6.2.3 連通分量
6.2.4 生成樹
6.2.5 重連通分量
6.3 最小代價(jià)生成樹
6.3.1 Kruskal算法
6.3.2 Prim算法
6.3.3 SoUin算法
6.4 最短路徑和遷移閉包
6.4.1 單源點(diǎn)至所有其它節(jié)點(diǎn):邊權(quán)值非負(fù)
6.4.2 單源點(diǎn)至所有其它節(jié)點(diǎn):邊權(quán)值正負(fù)無限制
……
第7章 排序
第8章 Hash法
第9章 優(yōu)先級(jí)隊(duì)列
第10章 高效二叉查找樹
第11章 多路查找樹
第12章 數(shù)字查找結(jié)構(gòu)
索引
第1章 基本概念
1.1 概觀:系統(tǒng)生命周期
本書讀者應(yīng)具備扎實(shí)的結(jié)構(gòu)化程序設(shè)計(jì)技能。要獲得這些技能,讀者通常應(yīng)學(xué)過程序設(shè)計(jì)基礎(chǔ)一類課程。這類課程的培養(yǎng)目標(biāo)就是傳授結(jié)構(gòu)化程序設(shè)計(jì)技能,但課程強(qiáng)調(diào)的是語言本身的語法形式與語句使用規(guī)則,學(xué)生在這個(gè)階段通常只能編寫很簡(jiǎn)單的程序,解決的問題不用說也是很簡(jiǎn)單的。這類簡(jiǎn)單問題,一般而言,只要直接選用程序設(shè)計(jì)語言提供的某語句也許就能完成求解,例如,用數(shù)組存儲(chǔ)數(shù)據(jù),再利用while循環(huán)語句,可能就足以解決這一階段的許多問題了。
本書要指導(dǎo)讀者向前邁一大步,大幅度提高編程能力,因?yàn)橐院缶帉懙某绦,其?guī)模要大很多,功能也要復(fù)雜得多。不用說,編寫規(guī)模龐大而復(fù)雜的程序,不但需要更強(qiáng)有力的工具,還一定需要更高級(jí)的編程技術(shù)。我們希望在隨后的學(xué)習(xí)過程,讀者應(yīng)扎實(shí)掌握數(shù)據(jù)的抽象思維方法,同時(shí)必須熟練掌握算法的規(guī)范聲明、算法的性能分析、算法的性能評(píng)價(jià)等諸多技能。設(shè)置本章的目的就是要詳細(xì)論述這些內(nèi)容。此外,遞歸程序設(shè)計(jì)方法同樣至關(guān)重要,讀者也必須熟練掌握,因此也是本章討論的內(nèi)容,但論述得較為簡(jiǎn)明而且篇幅不很大。