數據結構(C++描述)習題解答及實習指導

-
【作 者】李根強 謝月娥 主編
【I S B N 】978-7-5084-1206-0
【責任編輯】張玉玲
【適用讀者群】高職高專
【出版時間】2011-06-13
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】
【千字數】401
【印 張】18
【定 價】¥24
【叢 書】21世紀高職高專新概念教材
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關圖書
本書是為配合高職高專各專業(yè)學生更方便地學習數據結構而編寫的,與作者2001年7月出版的教材《數據結構(C++描述)》一書相配套。本書包含3部分內容:習題解答、實習指導、模擬試題及參考答案。本書除給出配套教材中習題的解答外,還給出了綜合題的算法分析、算法實現;給出了上機實習內容10個,每個上機實習內容包含多個上機題目,有實習目的、算法提示、算法分析、算法實現;另外,還給出了10套模擬試題,以檢測學生學習數據結構、掌握數據結構知識的程度。
本書內容豐富、題型多樣、涉及面廣、適應性強,與《數據結構(C++描述)》一書的內容緊密結合。既可以作為高職高專學生使用,也可供各類學習數據結構的人員參考使用。
數據結構是計算機專業(yè)及相關專業(yè)的一門重要專業(yè)基礎課,也是一門必修的核心課程。在計算機科學的各領域中,都會使用到各種不同的數據結構,如編譯系統中要使用棧、散列表、語法樹等;操作系統中要使用隊列、存儲管理表、目錄樹等;數據庫系統中要使用線性表、鏈表、索引樹等;人工智能中要使用廣義表、檢索樹、有向圖等;同樣在面向對象的程序設計、計算機圖形學、軟件工程、多媒體技術、計算機輔助設計等領域,都會用到各種不同的數據結構。因此,學好數據結構,對從事計算機技術及相關領域的工作人員來說,是非常重要的,它可以使你掌握各種常用的數據結構及算法實現,以及每一種算法的時間復雜度分析和空間復雜度分析,知道在哪種情況下,使用哪種數據結構最方便,為以后開發(fā)大型程序而使用各種不同的數據結構打下基礎。
由于數據結構的原理和算法比較抽象,而該課程一般在剛學完程序設計后開設,學生的程序設計方面的知識較少。因此,對于具有一些計算機程序設計的初學者來說,理解和掌握數據結構中的原理就比較困難,在解答數據結構習題時,往往感到無從下手,更不知道算法如何描述、如何編寫,作者在多年的教學中深有感觸。作者通過多年的教學實踐,收集、整理進而編寫了這本《數據結構(C++描述)習題解答及實習指導》,目的是:通過對習題的解答,使學生充分掌握數據結構的原理、求解數據結構問題的思路和方法,以及最后編寫出正確的算法,進一步加深對基本概念的理解,提高分析問題和解決問題的能力,為整個專業(yè)的學習打基礎,為適應今后編寫大型的數據結構方面的算法打下堅實的基礎。
本書是《數據結構(C++描述)》的配套指導教材。全書內容共分三個大部分。第一部分為習題解答部分,包含配套教材中的習題和一些綜合題,主要是對配套教材中的習題給出解答思路提示、算法分析,最后再給出完整的答案、算法或程序。每章的習題都包含基本概念和算法設計方面的題型,以幫助學生掌握數據結構的基本概念,提高用各種不同的數據結構分析問題、解決問題的能力。第二部分為上機實驗及指導部分,包含C++的上機環(huán)境介紹,并給出了10個上機實習內容,每個上機實習都給出了多道上機題目,在每個上機實習中,都介紹了實習目的、采用的主要方法和算法設計技巧,最后給出了完整的C++源程序來實現算法,所有C++源程序都在C++環(huán)境下運行通過。通過這些實驗,可以使學生了解并學會如何運用數據結構知識去解決現實世界中的某些實際問題,并具備設計較復雜算法的基本能力。第三部分為模擬試題部分,包含有模擬試題和參考答案。模擬試題主要是為了幫助學生在學完數據結構課程后自我檢驗學習的效果。有易、較易、中等、較難等各種難度的題目分布在各套試題中,每套試題中有選擇、判斷、填空、應用、算法設計等各種題目,試題覆蓋了教材中的大部分知識點,有助于學生對課程的系統復習。
本書的目的是幫助學生學好數據結構這門課程,所以在使用本書的過程中,請注意以下幾點:第一,使用該書要與《數據結構(C++描述)》這本配套教材一起使用,以便與課程內容同步,有利于進一步掌握和理解各種基礎知識,加深對課堂所講授內容的理解。第二,算法設計是不惟一的,每題除了書中給出的算法外,讀者可能還會有其他的算法,這說明讀者對這方面的知識掌握得很好。第三,該習題解答及指導,是幫助學習和理解數據結構知識的,請學生在做作業(yè)前,先自己動腦思考、動手寫,不要盲目照抄,否則只會收到事倍功半的效果。
本書的最大特點是采用面向對象的程序設計語言(C++語言)作為算法的描述語言,所有算法都已經上機調試通過。但是,由于篇幅所限,大部分算法都是以單獨的函數形式給出,若讀者要運行這些算法,還必須給出一些變量的說明及主函數來調用所給的函數。因此,本書中的算法描述比原來數據結構教材中用類Pascal語言或類C語言描述算法更直觀,學生更容易理解和接受。作者在十幾年的數據結構課程教學中,對數據結構中的各種算法進行了認真的研究和分析,在這方面積累了豐富的經驗,因此,本書中所選的綜合題和習題都具有一定的針對性,都是針對特定的數據結構來進行描述的,方便學生理解和接受,并能為復雜的數據結構算法描述架橋鋪路。
本書可以作為高職高專的學生和教師學習數據結構的參考資料,也可作為數據結構自學者的參考書,同時還可供從事計算機應用工作的工程與技術人員參考。選用該指導書上機實習的學校,可以根據學校本身的條件,在10個實習題中有針對性的選一部分或全選。
本書是受中國水利水電出版社的委托,為適應高職高專教學的需要,由湖南計算機高等專科學校多位在第一線講授數據結構課程的具有豐富教學經驗的教師共同編著的。參加編寫的有李根強、謝月娥,全書由李根強老師統稿、修改、定稿。在本書的編寫過程中,得到湖南計算機高等專科學校曹翌旺老師的大力支持,在此深表感謝。
由于時間倉促及作者水平有限,書中不妥和錯誤之處在所難免,敬請廣大讀者批評指正。
編 者
2002年7月
前言
第一部分 習題及解答
第1章 緒論 1
1.1 基本概念 1
1.1.1 數據結構 1
1.1.2 存儲方式 1
1.1.3 算法及評價 2
1.2 習題及解答 2
1.2.1 配套教材中的習題 2
1.2.2 綜合題 11
第2章 線性表 14
2.1 線性表的基本概念及其運算 14
2.1.1 順序表 14
2.1.2 線性鏈表 14
2.1.3 雙向鏈表 14
2.2 習題及解答 14
2.2.1 配套教材中的習題 14
2.2.2 綜合題 30
第3章 棧和隊列 35
3.1 基本概念及其運算 35
3.1.1 棧 35
3.1.2 隊列 35
3.2 習題及解答 35
3.2.1 配套教材中的習題 35
3.2.2 綜合題 42
第4章 串 49
4.1 基本概念及運算 49
4.1.1 串的順序存儲及運算 49
4.1.2 串的鏈式存儲及運算 49
4.2 習題及解答 49
4.2.1 配套教材中的習題 49
4.2.2 綜合題 56
第5章 多維數組和廣義表 60
5.1 基本概念及運算 60
5.1.1 多維數組的概念及存儲 60
5.1.2 特殊矩陣及壓縮存儲 60
5.1.3 稀疏矩陣及壓縮存儲 60
5.1.4 廣義表的存儲及運算 60
5.2 習題及解答 61
5.2.1 配套教材中習題 61
5.2.2 綜合題 68
第6章 樹 74
6.1 樹的基本概念 74
6.1.1 樹的定義 74
6.1.2 基本術語 74
6.1.3 樹的表示 75
6.2 二叉樹的基本概念和性質 75
6.2.1 二叉樹的定義 75
6.2.2 二叉樹的性質 75
6.2.3 二叉樹的存儲結構 76
6.2.4 二叉樹的基本運算 76
6.2.5 二叉樹的應用 76
6.2.6 樹、森林和二叉樹之間的相互關系 76
6.3 習題及解答 77
6.3.1 配套教材中的習題 77
6.3.2 綜合題 85
第7章 圖 94
7.1 圖的基本概念及運算 94
7.1.1 圖的基本術語 94
7.1.2 圖的存儲形式 95
7.1.3 圖的基本運算 95
7.2 習題及解答 95
7.2.1 配套教材中的習題 95
7.2.2 綜合題 112
第8章 查找 119
8.1 基本概念 119
8.1.1 順序查找 119
8.1 2 二分查找 119
8.1.3 分塊查找 119
8.1.4 二叉排序樹查找 119
8.1.5 散列查找 120
8.2 習題及解答 120
8.2.1 配套教材中的習題 120
8.2.2 綜合題 126
第9章 排序 132
9.1 基本概念 132
9.1.1 插入排序 132
9.1.2 交換排序 132
9.1.3 選擇排序 132
9.1.4 歸并排序 132
9.1.5 分配排序 132
9.2 習題及解答 133
9.2.1 配套教材中的習題 133
9.2.2 綜合題 142
第二部分 上機實驗指導
第10章 上機環(huán)境 147
10.1 Turbo C++ 上機環(huán)境 147
10.1.1 建C++源程序 147
10.1.2 打開已存在的C++源程序 148
10.1.3 編譯并運行C++源程序 148
10.2 Visual C++ 上機環(huán)境 150
10.2.1 新建C++源程序并編譯和運行 150
10.2.2 打開已經存在的源程序并編譯和運行 156
10.2.3 源程序的保存 158
第11章 實習內容 159
實習題一 線性表的順序存儲 159
實習題二 線性表的鏈式存儲 163
實習題三 棧和隊列的應用 172
實習題四 多維數組的應用 182
實習題五 二叉樹的遍歷和應用 188
實習題六 哈夫曼樹的建立及應用 197
實習題七 圖的鄰接矩陣和遍歷 200
實習題八 圖的鄰接表和遍歷 203
實習題九 查找 206
實習題十 排序 210
第三部分 模擬試題及參考答案
模擬試題一 219
模擬試題二 222
模擬試題三 225
模擬試題四 228
模擬試題五 231
模擬試題六 234
模擬試題七 237
模擬試題八 240
模擬試題九 244
模擬試題十 247
模擬試題一參考答案 251
模擬試題二參考答案 253
模擬試題三參考答案 255
模擬試題四參考答案 257
模擬試題五參考答案 258
模擬試題六參考答案 260
模擬試題七參考答案 261
模擬試題八參考答案 263
模擬試題九參考答案 266
模擬試題十參考答案 268
- 數據結構(Python語言描述) [曹岳輝 劉衛(wèi)國 康松林 編著]
- 數據結構——C語言(微課版) [主編 梁海英]
- 數據結構(C語言版)習題解答及實訓指導 [李根強 謝月娥]
- 數據結構(C語言版) [主編 李根強 劉浩 謝月娥]
- 數據結構(Java版) [主編 李云平]
- 數據結構 [主編 韓利凱 朱浩悅]
- 數據結構(C語言版)(第三版) [主編 庫波 曹靜]
- 數據結構(Java版) [孫琳 張宇]
- 數據結構 [許繪香 段明義]
- 數據結構(C語言描述) [李素若 陳萬華 游明坤 編著]
- 數據結構習題解答及上機指導 [李素若 琚輝 嚴永松 編著]
- 數據結構(C語言版)學習指導與習題解答 [趙堅 姜梅 主編]
- 數據結構 [陸勤 主編 ]
- 數據結構(C++描述) [李根強 主 編]
- 數據結構(C++版)--習題解答及實習指導 [李根強 主編]
- 數據結構算法--Visual C++ 6.0程序集 [侯識忠 等編著]
- 數據結構算法--C++ Builder 6.0程序集 [侯識忠 等編著]
- 數據結構(C語言版)學習指導與習題解答 [趙堅 姜梅 主編]
- 數據結構(C語言版) [趙堅 姜梅 主編]
- 數據結構(C語言描述) [斯慶巴拉 主編]
- 數據結構(C++版)(第二版) [李根強]
- 數據結構(C++版)(第二版)習題解答及實訓指導 [李根強]
- 數據結構——用C語言描述 [蔡明志 編著]
- 數據結構(C++版) [李根強 主編]
- 數據結構--用C語言描述(第二版) [寧正元 易金聰 編著]
- 數據結構(C語言描述) [馬秋菊 主編]
- 數據結構(C/C++描述) [阮宏一 主編]
- 數據結構--C語言描述(第二版) [王路群 主編]
- 數據結構、算法與應用(Java語言描述) [[美]Sartaj Sahni(薩爾塔杰.薩]
- 數據結構實驗程序 [智東杰 主 編]