數(shù)據(jù)結(jié)構(gòu)習題解析(第2版)
定 價:49 元
叢書名:清華大學計算機系列教材
- 作者:殷人昆 著
- 出版時間:2011/5/1
- ISBN:9787302243922
- 出 版 社:清華大學出版社
- 中圖法分類:TP311.12-44
- 頁碼:463
- 紙張:膠版紙
- 版次:2
- 開本:16開
《數(shù)據(jù)結(jié)構(gòu)習題解析(第2版)》是清華大學計算機系列教材《數(shù)據(jù)結(jié)構(gòu)(用面向?qū)ο蠓椒ㄅcc++描述)》(第2版)的配套用書!稊(shù)據(jù)結(jié)構(gòu)習題解析(第2版)》針對主教材各個章節(jié)精選的習題,給出了參考答案;對部分習題提供了多種可能的解答,以幫助學生以不同的思路來解決問題。
《數(shù)據(jù)結(jié)構(gòu)習題解析(第2版)》章節(jié)的編排與主教材的章節(jié)嚴格對應(yīng)。每一章在開始部分提示本章的復(fù)習要點,總結(jié)主要的知識點;第二部分說明其重點和難點,以引起學習者的注意;在第三部分給出本章習題的參考答案;在第四部分進一步擴展開來,針對將來工作中可能涉及的知識,兼顧考碩、考博,補充了大批練習。
《數(shù)據(jù)結(jié)構(gòu)習題解析(第2版)》中內(nèi)容涵蓋了碩士研究生入學(全國聯(lián)考)考試大綱的各個知識單元,針對考試的題型,增加了大量選擇題和應(yīng)用題,包括算法題。所有的習題都經(jīng)過精心挑選和精心解答。
《數(shù)據(jù)結(jié)構(gòu)習題解析(第2版)》適合本科在校學生作為學習數(shù)據(jù)結(jié)構(gòu)課程的參考書使用,也可以作為考研學生的復(fù)習教材。此外,對于從事計算機軟件研發(fā)的人員也有參考價值。
“數(shù)據(jù)結(jié)構(gòu)”是有關(guān)計算技術(shù)及信息管理技術(shù)專業(yè)的一門必修的核心課程。數(shù)據(jù)結(jié)構(gòu)課程的任務(wù)是討論在應(yīng)用問題求解時數(shù)據(jù)的邏輯組織、在計算機中的存儲實現(xiàn)以及相關(guān)操作的算法設(shè)計。數(shù)據(jù)結(jié)構(gòu)課程的目的是使學生掌握在實際問題解決過程中組織數(shù)據(jù)、存儲數(shù)據(jù)和處理數(shù)據(jù)的基本方法,為以后從事軟件開發(fā)和應(yīng)用,為進一步學習后續(xù)課程打下堅實的基礎(chǔ)。
本教材是清華大學出版社出版的清華大學計算機系列教材《數(shù)據(jù)結(jié)構(gòu)(用面向?qū)ο蠓椒ê虲++描述)》(第2版)的配套教材,它給出了主教材中全部習題的參考答案和解題分析,并針對學生對基本概念的掌握程度,補充了一些知識性的練習。本教材對于復(fù)習和準備考試的學生有一定參考價值,但對于正在學習數(shù)據(jù)結(jié)構(gòu)課程的學生,應(yīng)以掌握知識和培養(yǎng)能力為主,不應(yīng)過多地依賴現(xiàn)成的習題解答。本教材只應(yīng)作為一個參考,不應(yīng)當做拐杖。
如何復(fù)習好數(shù)據(jù)結(jié)構(gòu),從作者的經(jīng)驗來看,必須抓住重點。首先應(yīng)明確課程考查目標。
(1) 理解數(shù)據(jù)結(jié)構(gòu)的基本概念,掌握數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)及其差異,以及各種基本操作的實現(xiàn)。
(2) 在掌握基本的數(shù)據(jù)處理原理和方法的基礎(chǔ)上,能夠?qū)λ惴ㄟM行設(shè)計與分析。
(3) 能夠選擇合適的數(shù)據(jù)結(jié)構(gòu)和方法進行問題求解。
換句話說,課程考查的目標有兩個: 知識和技能。
在知識方面,應(yīng)從數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)定義和使用以及存儲表示和操作的實現(xiàn)兩個層次,系統(tǒng)地考查。
(1) 掌握常用的基本數(shù)據(jù)結(jié)構(gòu)(包括順序表、鏈接表、棧與隊列、數(shù)組、二叉樹、堆、樹與森林、圖、查找結(jié)構(gòu)、索引結(jié)構(gòu)、散列結(jié)構(gòu))及其不同的實現(xiàn)。
(2) 掌握分析、比較和選擇不同數(shù)據(jù)結(jié)構(gòu)、不同存儲結(jié)構(gòu)、不同算法的原則和方法。
在技能方面,應(yīng)系統(tǒng)地學習和掌握基本數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法,掌握選擇結(jié)構(gòu)的方法和算法設(shè)計的思考方式及技巧,提高分析問題和解決問題的能力。
為了能夠在有限的時間內(nèi)學習和復(fù)習好這門課程,應(yīng)當注意以下幾點。
(1) 必須注意復(fù)習在用C/C++/Java語言編寫小程序時的語法規(guī)則和方法。為算法的分析和算法設(shè)計題的求解打下基礎(chǔ)。
在復(fù)習C/C++語言時,要注意以下幾個問題。
、 函數(shù)的概念和相關(guān)問題。包括函數(shù)類型、函數(shù)特征、函數(shù)參數(shù)傳遞、函數(shù)返回值類型等。特別注意傳值參數(shù)和引用參數(shù)在使用上的區(qū)別。
、 函數(shù)中傳值參數(shù)的作用域。特別注意在函數(shù)中對傳值形參的任何改變,在退出函數(shù)過程時不能通過參數(shù)返回。
③ 自定義結(jié)構(gòu)的定義方式?梢院唵涡,但解題時不能回避。
、 在C/C++中的動態(tài)存儲分配和回收方式。
、 在C/C++中的輸入輸出文件的定義和使用。特別注意文件的打開、關(guān)閉、讀入、寫出操作的使用。
(2) 在學習“數(shù)據(jù)結(jié)構(gòu)”時,要注意知識體系。
數(shù)據(jù)結(jié)構(gòu)課程中的知識本身具有良好的結(jié)構(gòu)性,有些結(jié)構(gòu)是面向應(yīng)用的,有些結(jié)構(gòu)是面向?qū)崿F(xiàn)的。在復(fù)習時要注意這兩個層次以及它們之間的聯(lián)系。
① 注意比較。在復(fù)習中應(yīng)當注意從橫向和縱向進行對比,以加深理解。
縱向?qū)Ρ葘⒁环N結(jié)構(gòu)與它的各種不同的實現(xiàn)加以比較,理解不同實現(xiàn)方式的優(yōu)點和相應(yīng)的問題;橫向?qū)Ρ劝▽ν瑢僖活愡壿嫿Y(jié)構(gòu)的不同數(shù)據(jù)結(jié)構(gòu)(如線性表、棧、隊列)的比較,具有相同功能的不同算法的比較等,了解數(shù)據(jù)結(jié)構(gòu)與算法實現(xiàn)之間的關(guān)系。
、 注意復(fù)習和重讀。讀者在初讀時有些內(nèi)容難以透徹理解或熟練掌握,或看起來似乎很明白,但用的時候卻想不起如何用。在繼續(xù)復(fù)習的過程中如遇到或用到有關(guān)內(nèi)容時,應(yīng)當及時復(fù)習或重讀,這往往能夠化難為易,溫故知新。
、 注意循序漸進。在復(fù)習數(shù)據(jù)結(jié)構(gòu)的定義和各種操作的實現(xiàn)之前,需首先領(lǐng)會基本概念、基本思想,這一點極為重要。特別是在閱讀算法之前,一定要先弄清其基本設(shè)計思想和基本步驟,這將大大降低理解算法的難度。如果只是讀“懂”了算法而不知其基本思想,仍不能算是真懂。讀者可以通過實例學習以加深理解。
④ 注意練習。只看書不做題,不可能真正學會有關(guān)知識,更不能達到技能培養(yǎng)的目的。另一方面,做題也是自我檢查的重要手段。在做算法設(shè)計類型的習題時,應(yīng)優(yōu)先考慮數(shù)據(jù)結(jié)構(gòu)的定義,可以直接使用以前定義的數(shù)據(jù)結(jié)構(gòu)和相應(yīng)操作。
、 提高算法設(shè)計的能力。編寫算法可能是學生比較棘手的問題,特別是在考試這樣一個環(huán)境中,時間又短促,想編出一個好算法不太容易。筆者一個建議是首先仔細閱讀試題,了解它到底要你干什么。然后用一個簡單的例子走一下,總結(jié)每一步向下走用什么語句,再做歸納。也可以按照結(jié)構(gòu)化程序設(shè)計的方法,先搭框架,再根據(jù)例子填入細節(jié)。
在設(shè)計一個算法解決具體問題時,要考慮數(shù)據(jù)結(jié)構(gòu)內(nèi)容的系統(tǒng)性、問題解決方案的多樣性、算法的適用性、問題對算法選擇的限制。選擇合適的數(shù)據(jù)結(jié)構(gòu),設(shè)計有效的算法。最后應(yīng)當強調(diào)的是,學習方法主要靠自己摸索、多總結(jié)、多思考、勤練習、勤交流。
作者教授數(shù)據(jù)結(jié)構(gòu)課程,從1987年開始,已經(jīng)有20多年。在教授大學計算機專業(yè)本科數(shù)據(jù)結(jié)構(gòu)課程之外,還教授過大學自學考試本科“數(shù)據(jù)結(jié)構(gòu)”課程、進行過軟件水平考試數(shù)據(jù)結(jié)構(gòu)課程輔導(dǎo)、全國計算機學科碩士研究生入學專業(yè)考試“數(shù)據(jù)結(jié)構(gòu)”課程輔導(dǎo)。積累了較為豐富的經(jīng)驗,因此在本習題解析中作為學習難點和重點,挖掘了許多學生容易忽略或混淆的概念。并在算法設(shè)計方面精心安排了一些題解。這些對于希望深入了解“數(shù)據(jù)結(jié)構(gòu)”課程知識,特別是應(yīng)對考研的學生,會有一些幫助。
由于作者在水平上的局限,以及在錄入方面可能的疏忽,書中還會有許多錯誤和疏漏,懇請廣大讀者多多指正。
2011年3月于清華園·荷清苑
第1章 緒論
1.1 復(fù)習要點
1.2 難點與重點
1.3 教材習題解析
1.4 補充練習題
1.5 補充練習題參考答案
第2章 線性表
2.1 復(fù)習要點
2.2 難點與重點
2.3 教材習題解析
2.4 補充練習題
2.5 補充練習題參考答案
第3章 棧和隊列
3.1 復(fù)習要點
3.2 難點和重點
3.3 教材習題解析
3.4 補充練習題
3.5 補充練習題參考答案
第4章 數(shù)組、串和廣義表
4.1 復(fù)習要點
4.2 難點與重點
4.3 教材習題解析
4.4 補充練習題
4.5 補充練習題參考答案
第5章 樹與森林
5.1 復(fù)習要點
5.2 難點與重點
5.3 教材習題解析
5.4 補充練習題
5.5 補充練習題參考答案
第6章 集合與字典
6.1 復(fù)習要點
6.2 難點和重點
6.3 教材習題解析
6.4 補充練習題
6.5 補充練習題參考答案
第7章 搜索結(jié)構(gòu)
7.1 復(fù)習要點
7.2 難點和重點
7.3 教材習題解析
7.4 補充練習題
7.5 補充練習參考答案
第8章 圖
8.1 復(fù)習要點
8.2 難點和重點
8.3 教材習題解析
8.4 補充練習題
8.5 補充練習題參考答案
第9章 排序
9.1 復(fù)習要點
9.2 難點和重點
9.3 教材習題解析
9.4 補充練習題
9.5 補充練習題參考答案
第10章 文件、外部排序與搜索
10.1 復(fù)習要點
10.2 難點與重點
10.3 教材習題解析
10.4 補充練習題
10.5 補充練習題參考答案