高等院校“十二五”核心課程輔導(dǎo)叢書(shū):數(shù)據(jù)結(jié)構(gòu)(C++版)答疑解惑與典型題解
定 價(jià):35 元
- 作者:?jiǎn)螒浤?,唐軍軍 ,等 著
- 出版時(shí)間:2010/9/1
- ISBN:9787563522866
- 出 版 社:北京郵電大學(xué)出版社
- 中圖法分類(lèi):TP312C
- 頁(yè)碼:278
- 紙張:膠版紙
- 版次:1
- 開(kāi)本:16開(kāi)
《數(shù)據(jù)結(jié)構(gòu)(C++版)答疑解惑與典型題解》是為熟悉C++編程的讀者學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)而編寫(xiě)的教學(xué)輔導(dǎo)書(shū),可幫助讀者復(fù)習(xí)課程的基本內(nèi)容,并學(xué)會(huì)用C++使用相應(yīng)的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)一定的算法和解決一些實(shí)際應(yīng)用問(wèn)題,力爭(zhēng)使讀者在學(xué)完《數(shù)據(jù)結(jié)構(gòu)(C++版)答疑解惑與典型題解》之后,在課程的理解和掌握方面達(dá)到一個(gè)新的高度,《數(shù)據(jù)結(jié)構(gòu)(C++版)答疑解惑與典型題解》也可供從事本課程教學(xué)的教師參考書(shū)。
《數(shù)據(jù)結(jié)構(gòu)(C++版)答疑解惑與典型題解》共分十章,包括數(shù)據(jù)結(jié)構(gòu)概述、線(xiàn)性表、棧和隊(duì)列、串和字符串、數(shù)組和廣義表、樹(shù)和二義樹(shù)、圖、查找、排序,在全書(shū)最后給出了一套模擬試題及參考答案。
《數(shù)據(jù)結(jié)構(gòu)(C++版)答疑解惑與典型題解》每章內(nèi)容均包括各基本知識(shí)點(diǎn)的要點(diǎn)歸納,并精選一些經(jīng)典數(shù)據(jù)結(jié)構(gòu)書(shū)中的經(jīng)典例題(包括課程考試試題、主流教材課后難題以及考研真題),給出了解題思路和分析方法,題后提示了解題中應(yīng)注意的問(wèn)題。力爭(zhēng)使讀者在盡可能短的時(shí)間內(nèi),鞏固課程基本概念,加深理解數(shù)據(jù)結(jié)構(gòu)的基本知識(shí)并融會(huì)貫通,熟練掌握基本的編程方法并舉一反三,不斷提高讀者的C++編程能力和利用各種數(shù)據(jù)結(jié)構(gòu)解決實(shí)際問(wèn)題的能力。
《數(shù)據(jù)結(jié)構(gòu)(C++版)答疑解惑與典型題解》可供學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)課程(C++版)的讀者以及考研讀者和從事課程教學(xué)的教師參考。
《數(shù)據(jù)結(jié)構(gòu)(C++版)答疑解惑與典型題解》特點(diǎn): (1)結(jié)構(gòu)清晰、模式合理!稊(shù)據(jù)結(jié)構(gòu)(C++版)答疑解惑與典型題解》基本按照正規(guī)教學(xué)課本(主流教材)的順序安排,不是對(duì)所有知識(shí)點(diǎn)詳細(xì)鋪陳,而是對(duì)核心知識(shí)點(diǎn)和常考題型做重點(diǎn)講解。每章設(shè)計(jì)了兩個(gè)板塊,分別是:答疑解惑與典型題解。各內(nèi)容安排為: 答疑解惑:突出核心知識(shí),對(duì)重點(diǎn)、難點(diǎn)、易混淆的知識(shí)點(diǎn)進(jìn)行剖析與解釋?zhuān)寣W(xué)生掌握問(wèn)題的本質(zhì)。包括對(duì)重要定理、定義和公式的剖析。 典型題解:精選出?碱}型與考研真題進(jìn)行解析,增強(qiáng)學(xué)生的解題能力!稊(shù)據(jù)結(jié)構(gòu)(C++版)答疑解惑與典型題解》每一章都列舉了大量的題目,并對(duì)其進(jìn)行了詳細(xì)分析評(píng)注,以便于幫助讀者掌握本章的重點(diǎn)及迅速回憶本章的內(nèi)容。(題目來(lái)源:一是主流教材課后難題,二是課程考試試題,三是經(jīng)典好題,四是考研真題。) (2)針對(duì)性強(qiáng)、實(shí)用性強(qiáng)!稊(shù)據(jù)結(jié)構(gòu)(C++版)答疑解惑與典型題解》不是按照傳統(tǒng)輔導(dǎo)書(shū)那種“內(nèi)容簡(jiǎn)介-例題分析-習(xí)題”的模式編寫(xiě),而是在聽(tīng)取大量一線(xiàn)教師和學(xué)生們建議的基礎(chǔ)上,以突出針對(duì)性與實(shí)用性來(lái)安排內(nèi)容的。學(xué)生們最需要的是解決他們學(xué)習(xí)過(guò)程中的“疑惑”以及掌握解題方法。《數(shù)據(jù)結(jié)構(gòu)(C++版)答疑解惑與典型題解》正是以“答疑解惑與典型題解”為中心,因而具有很強(qiáng)的針對(duì)性與實(shí)用性。 (3)《數(shù)據(jù)結(jié)構(gòu)(C++版)答疑解惑與典型題解》重點(diǎn)定位在疑難解惑與解題方法上,開(kāi)拓解題思路,提高分析問(wèn)題的能力,不僅授人以“魚(yú)”,更在于授人以“漁”。 (4)《數(shù)據(jù)結(jié)構(gòu)(C++版)答疑解惑與典型題解》聘請(qǐng)執(zhí)教多年且有較高學(xué)術(shù)造詣的名師編寫(xiě),質(zhì)量高,內(nèi)容清晰。
本書(shū)是為熟悉C++的讀者學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)而編寫(xiě)的教學(xué)輔導(dǎo)書(shū),可幫助讀者復(fù)習(xí)課程的基本內(nèi)容,檢驗(yàn)各種數(shù)據(jù)結(jié)構(gòu)形式和算法的掌握程度,培養(yǎng)和提高用C++解決實(shí)際問(wèn)題的能力,力爭(zhēng)使讀者在學(xué)完本書(shū)之后,在運(yùn)用數(shù)據(jù)結(jié)構(gòu)解決實(shí)際問(wèn)題和C++編程方面都達(dá)到一個(gè)新的高度。
1.本書(shū)閱讀指南
全書(shū)共分10章。
第l章主要介紹數(shù)據(jù)結(jié)構(gòu)的基本概念,包括數(shù)據(jù)結(jié)構(gòu)的應(yīng)用、意義、時(shí)間復(fù)雜度、空間復(fù)雜度等內(nèi)容。
第2章主要介紹線(xiàn)性表這個(gè)數(shù)據(jù)結(jié)構(gòu)類(lèi)型,包括線(xiàn)性表達(dá)定義和基本概念、線(xiàn)性表的存儲(chǔ)、循環(huán)鏈表和雙向鏈表等內(nèi)容。
第3章主要介紹棧和隊(duì)列數(shù)據(jù)結(jié)構(gòu)類(lèi)型,包括棧的定義和基本操作、棧的存儲(chǔ)、隊(duì)列的定義和基本操作、隊(duì)列的存儲(chǔ)結(jié)構(gòu)等內(nèi)容。
第4章主要介紹串?dāng)?shù)據(jù)結(jié)構(gòu)類(lèi)型,包括串的操作、串的模式匹配,以及KMP算法的理解等內(nèi)容。
第5章主要介紹數(shù)組與廣義表數(shù)據(jù)結(jié)構(gòu)類(lèi)型,包括多維數(shù)組、特殊矩陣的存儲(chǔ)、稀疏矩陣的存儲(chǔ)、廣義表的性質(zhì)和操作等內(nèi)容。
第6章主要介紹樹(shù)與二叉樹(shù)數(shù)據(jù)結(jié)構(gòu)類(lèi)型,包括樹(shù)和二叉樹(shù)的性質(zhì)和定義、二叉樹(shù)的遍歷、表達(dá)式的二又樹(shù)表示、線(xiàn)索化二又樹(shù)、樹(shù)和森林、哈夫曼樹(shù)等內(nèi)容。
第7章主要介紹圖數(shù)據(jù)結(jié)構(gòu)類(lèi)型,包括圖的基本性質(zhì)和概念、圖的存儲(chǔ)、圖的遍歷、圖的連同性、最小生成樹(shù)算法、最短路徑問(wèn)題、拓?fù)渑判虻葍?nèi)容。
第8章主要介紹查找操作及相應(yīng)的數(shù)據(jù)結(jié)構(gòu),包括查找的定義、順序查找、折半查找、分塊查找、二叉排序樹(shù)、平衡二叉樹(shù)、B一樹(shù)、哈希表和散列表等內(nèi)容。
第9章主要介紹排序操作及應(yīng)用的數(shù)據(jù)結(jié)構(gòu),包括排序的概念、插入排序、冒泡排序、選擇排序、歸并排序、基數(shù)排序、幾種內(nèi)部排序時(shí)間復(fù)雜度空間復(fù)雜度的比較和外部排序等內(nèi)容。
第10章給出一套課程測(cè)試和一套研究生入學(xué)考試全真預(yù)測(cè)試題及參考答案。
2.本書(shū)的特色與優(yōu)點(diǎn)
本書(shū)編寫(xiě)的指導(dǎo)思想是:在內(nèi)容上重視數(shù)據(jù)結(jié)構(gòu)的基本理論,利用C++作為程序語(yǔ)言進(jìn)行描述,覆蓋課程全部基本教學(xué)要求;書(shū)中習(xí)題主要來(lái)自于經(jīng)典數(shù)據(jù)結(jié)構(gòu)教材中的經(jīng)典習(xí)題,全書(shū)習(xí)題經(jīng)過(guò)編者精挑細(xì)選,難度適中,適合各專(zhuān)業(yè)學(xué)習(xí)本課程的學(xué)生;在形式上根據(jù)教學(xué)實(shí)踐經(jīng)驗(yàn)和對(duì)相關(guān)內(nèi)容的思考理解,簡(jiǎn)明描述課程的基本知識(shí)點(diǎn)、重點(diǎn)和難點(diǎn)內(nèi)容,使學(xué)生迅速把握重點(diǎn)。
第1章 數(shù)據(jù)結(jié)構(gòu)基本概念
1.1 答疑解惑
1.1.1 為什么要用數(shù)據(jù)類(lèi)型來(lái)描述數(shù)據(jù)結(jié)構(gòu)?
1.1.2 何為抽象數(shù)據(jù)類(lèi)型(ADT)?
1.1.3 算法和程序有何區(qū)別?
1.1.4 怎樣理解數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)?
1.1.5 怎樣理解數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)課程中的核心地位?
1.1.6 如何計(jì)算算法的時(shí)間復(fù)雜度?
1.1.7 如何評(píng)價(jià)算法的好壞?
1.2 典型題解
題型1 數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識(shí)
題型2 時(shí)間與空間復(fù)雜度的計(jì)算
第2章 線(xiàn)性表
2.1 答疑解惑
2.1.1 如何理解線(xiàn)性表數(shù)據(jù)結(jié)構(gòu)?
2.1.2 線(xiàn)性表的順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的區(qū)別是什么?
2.1.3 帶頭結(jié)點(diǎn)的單鏈表和不帶頭結(jié)點(diǎn)的單鏈表的區(qū)別是什么?
2.1.4 鏈表的指針修改的次序?qū)Y(jié)果的影響是什么?
2.1.5 各種鏈表存儲(chǔ)結(jié)構(gòu)的特點(diǎn)是什么?
2.1.6 如何利用循環(huán)單鏈表實(shí)現(xiàn)隊(duì)列的操作?
2.1.7 如何應(yīng)用線(xiàn)性表?
2.1.8 順序表的聲明和基本運(yùn)算用C++如何描述?
2.2 典型題解
題型1 線(xiàn)性表的基本概念
題型2 線(xiàn)性表的存儲(chǔ)結(jié)構(gòu)
題型3 鏈表的插入和刪除
題型4 線(xiàn)性表元素查找
題型5 遞歸
題型6 歸并
題型7 單鏈表的應(yīng)用
題型8 其他鏈表及應(yīng)用
第3章 棧與隊(duì)列
3.1 答疑解惑
3.1.1 怎樣理解棧?
3.1.2 棧的順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的區(qū)別是什么?
3.1.3 在進(jìn)行人棧和出棧時(shí)應(yīng)注意的問(wèn)題是什么?
3.1.4 如何理解多棧的作用?
3.1.5 兩個(gè)棧如何共享同一存儲(chǔ)空間?
3.1.6 如何應(yīng)用棧?
3.1.7 怎樣理解隊(duì)列?
3.1.8 如何處理循環(huán)隊(duì)列中的邊界條件?
3.1.9 隊(duì)列的順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的區(qū)別是什么?
3.1.10 如何理解雙隊(duì)列的作用?
3.1.11 如何應(yīng)用隊(duì)列?
3.2 典型題解
題型1 棧和隊(duì)列的基本概念
題型2 棧和隊(duì)列的基本操作
題型3 棧和隊(duì)列的狀態(tài)分析
題型4 遞歸算法和遞歸工作棧
題型5 用棧求表達(dá)式的值
題型6 棧和隊(duì)列的應(yīng)用
第4章 串
4.1 答疑解惑
4.1.1 怎樣理解串?
4.1.2 串的順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的優(yōu)缺點(diǎn)是什么?
4.1.3 串的基本操作
4.1.4 怎樣用共享堆求子串?
4.1.5 如何理解KMP算法?
4.1.6 串有何應(yīng)用?
4.2 典型題解
題型1 串的性質(zhì)和存儲(chǔ)
題型2 串的基本運(yùn)算
題型3 串的模式匹配
第5章 數(shù)組與廣義表
5.1 答疑解惑
5.1.1 數(shù)組存儲(chǔ)地址如何確定?
5.1.2 對(duì)稱(chēng)矩陣如何壓縮存儲(chǔ)?
5.1.3 對(duì)稱(chēng)矩陣的地址計(jì)算公式是什么?
5.1.4 三角矩陣如何壓縮存儲(chǔ)?
5.1.5 對(duì)角矩陣的概念是什么?
5.1.6 稀疏矩陣的三元組存儲(chǔ)結(jié)構(gòu)如何理解?
5.1.7 如何靈活運(yùn)用廣義表的表頭和表尾操作?
5.1.8 如何由廣義表表示得到其動(dòng)態(tài)存儲(chǔ)表示?
5.1.9 如何由廣義表的動(dòng)態(tài)存儲(chǔ)表示求廣義表表示?
5.1.10 廣義表如何運(yùn)算?
5.1.11 如何理解廣義表表示和二叉樹(shù)的內(nèi)在聯(lián)系?
5.2 典型題解
題型1 多維數(shù)組
題型2 特殊矩陣
題型3 稀疏矩陣
題型4 廣義表
第6章 樹(shù)與二叉樹(shù)
6.1 答疑解惑
6.1.1 樹(shù)的遞歸定義如何理解?
6.1.2 如何理解樹(shù)的性質(zhì)和基本概念?
6.1.3 如何理解二叉樹(shù)的性質(zhì)及其推廣?
6.1.4 如何理解二叉樹(shù)遍歷的非遞歸?
6.1.5 如何理解線(xiàn)索二叉樹(shù)實(shí)現(xiàn)二叉樹(shù)的非遞歸?
6.1.6 如何理解二叉樹(shù)中序線(xiàn)索化的算法?
6.1.7 二叉樹(shù)與樹(shù)或森林轉(zhuǎn)換的目的是什么?
6.1.8 建立二又樹(shù)有哪些方法?
6.1.9 森林的兩種遍歷都是哪些?
6.1.10 如何理解廣義表表示和二叉樹(shù)的內(nèi)在聯(lián)系?
6.1.11 哈夫曼樹(shù)的建立和哈夫曼編碼的構(gòu)造?
6.1.12 如何用二又樹(shù)表示表達(dá)式?
6.2 典型題解
題型1 樹(shù)的性質(zhì)
題型2 二叉樹(shù)的性質(zhì)
題型3 條件運(yùn)算
題型4 二叉樹(shù)的遍歷
題型5 根據(jù)遍歷結(jié)果還原樹(shù)
題型6 線(xiàn)索二叉樹(shù)
題型7 樹(shù)與森林
題型8 樹(shù)與森林
第7章 圖
7.1 答疑解惑
7.1.1 如何理解圖的定義?
7.1.2 如何理解圖的各種存儲(chǔ)結(jié)構(gòu)?
7.1.3 如何理解圖的遍歷?
7.1.4 如何理解圖遍歷的非遞歸算法?
7.1.5 如何理解圖的最小生成樹(shù)?
7.1.6 如何用圖的框架及其遍歷方法解決背包問(wèn)題?
7.1.7 如何理解拓?fù)渑判虻淖饔?
7.1.8 如何理解Dikstra算法和F1oy算法的優(yōu)缺點(diǎn)?
7.1.9 如何理解關(guān)鍵路徑?
7.1.10 圖的應(yīng)用有哪些?
7.2 典型題解
題型1 圖的基本概念
題型2 圖的存儲(chǔ)結(jié)構(gòu)
題型3 圖的遍歷
題型4 圖的生成樹(shù)
題型5 圖的最短路
題型6 圖的拓?fù)渑判?br>題型7 圖的應(yīng)用
第8章 查找
8.1 答疑解惑
8.1.1 如何理解查找的基本概念?
8.1.2 如何理解順序查找中的監(jiān)視哨作用?
8.1.3 如何理解平均查找長(zhǎng)度?
8.1.4 折半查找的前提條件及其優(yōu)缺點(diǎn)有哪些?
8.1.5 什么情況下使用分塊查找
8.1.6 二叉排序樹(shù)的特點(diǎn)有哪些?
8.1.7 如何調(diào)整平衡二叉樹(shù)?
8.1.8 深刻理解B一樹(shù)的定義及其動(dòng)態(tài)調(diào)整
8.1.9 如何理解散列表的性質(zhì)?
8.1.10 如何理解散列表的沖突?
8.1.11 常用的散列函數(shù)有哪些?
8.2 典型題解
題型1 順序查找
題型2 二分查找
題型3 一維數(shù)組元素的移動(dòng)
題型4 一維數(shù)組的排序
題型5 平衡二叉樹(shù)
題型6 B樹(shù)
題型7 哈希表
第9章 排序
9.1 答疑解惑
9.1.1 如何理解排序算法的穩(wěn)定性?
9.1.2 內(nèi)部排序和外部排序有什么區(qū)別?
9.1.3 如何將順序存儲(chǔ)結(jié)構(gòu)上的排序算法移植到鏈表上?
9.1.4 希爾排序?yàn)楹伪纫话愕牟迦肱判蛞咝?
9.1.5 如何理解堆排序?
9.1.6 如何在r進(jìn)制下運(yùn)用基數(shù)排序?
9.1.7 如何合理地采用適當(dāng)?shù)膬?nèi)部排序方法?
9.1.8 如何在^路歸并方法中使用敗者樹(shù)?
9.2 典型題解
題型1 排序基本概念
題型2 插人排序
題型3 冒泡排序
題型4 選擇排序
題型5 歸并排序
題型6 基數(shù)排序
題型7 各種內(nèi)部排序的比較
題型8 外部排序
第10章 課程測(cè)試與考研真題
10.1 課程測(cè)試
10.2 考研真題
10.3 課程測(cè)試解析
10.4 考研真題解析
參考文獻(xiàn)
采用數(shù)據(jù)類(lèi)型來(lái)描述數(shù)據(jù)結(jié)構(gòu)是基于以下考慮:
(1)數(shù)據(jù)類(lèi)型(Data Type)是一個(gè)值的集合和定義在這個(gè)值集上的一組操作的總稱(chēng)。解決現(xiàn)實(shí)問(wèn)題就必須進(jìn)行數(shù)據(jù)處理,而數(shù)據(jù)處理包括對(duì)數(shù)據(jù)進(jìn)行查找、插入、刪除、合并、排序、統(tǒng)計(jì)以及簡(jiǎn)單計(jì)算等的操作過(guò)程。
(2)數(shù)據(jù)類(lèi)型是高級(jí)程序設(shè)計(jì)語(yǔ)言中的一個(gè)基本概念,它和數(shù)據(jù)結(jié)構(gòu)的概念密切相關(guān)。一方面,在程序設(shè)計(jì)語(yǔ)言中,每一個(gè)數(shù)據(jù)都屬于某種數(shù)據(jù)類(lèi)型。類(lèi)型明顯或隱含地規(guī)定了數(shù)據(jù)的取值范圍、存儲(chǔ)方式以及允許進(jìn)行的運(yùn)算?梢哉J(rèn)為,數(shù)據(jù)類(lèi)型是在程序設(shè)計(jì)中已經(jīng)實(shí)現(xiàn)了的數(shù)據(jù)結(jié)構(gòu)。另一方面,在程序設(shè)計(jì)過(guò)程中,當(dāng)需要引入某種新的數(shù)據(jù)結(jié)構(gòu)時(shí),總是借助編程語(yǔ)言所提供的數(shù)據(jù)類(lèi)型來(lái)描述數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)。
(3)用高級(jí)語(yǔ)言數(shù)據(jù)類(lèi)型來(lái)描述數(shù)據(jù)結(jié)構(gòu),更避免了低級(jí)語(yǔ)言的復(fù)雜性,增加了可讀性和簡(jiǎn)潔性,又有利于算法的實(shí)現(xiàn)。