數(shù)據(jù)結(jié)構(gòu)(C語言版)習(xí)題解答及實(shí)訓(xùn)指導(dǎo)

-
【作 者】李根強(qiáng) 謝月娥
【I S B N 】978-7-5170-5336-1
【責(zé)任編輯】封裕
【適用讀者群】本專通用
【出版時(shí)間】2017-05-28
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數(shù)】252
【千字?jǐn)?shù)】390
【印 張】15.75
【定 價(jià)】¥32
【叢 書】普通高等教育“十三五”規(guī)劃教材(軟件工程專業(yè))
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書是與《數(shù)據(jù)結(jié)構(gòu)(C語言版)》(李根強(qiáng)、劉浩、謝月娥主編)一書配套的輔導(dǎo)教材。全書包含兩部分內(nèi)容:教材的習(xí)題及解答、上機(jī)實(shí)訓(xùn)指導(dǎo)。書中除給出配套教材中習(xí)題的解答外,還給出了典型例題的算法分析、算法實(shí)現(xiàn);上機(jī)實(shí)訓(xùn)指導(dǎo)給出了十套實(shí)訓(xùn)題,每套實(shí)訓(xùn)題包含多個上機(jī)題目,給出了實(shí)訓(xùn)目的、算法提示、算法實(shí)現(xiàn),各院校相關(guān)人員可根據(jù)實(shí)際情況選取。
本書內(nèi)容豐富、題型多樣、涉及面廣、適用性強(qiáng),與《數(shù)據(jù)結(jié)構(gòu)(C語言版)》一書的內(nèi)容緊密結(jié)合,既可以作為高等院校本科及專科教材,也可以作為碩士研究生入學(xué)考試的參考書,還可以供自學(xué)人員參考使用。
內(nèi)容豐富,題型多樣。
涉及面廣,適用性強(qiáng)。
習(xí)題精解,綜合訓(xùn)練。
“數(shù)據(jù)結(jié)構(gòu)”課程是計(jì)算機(jī)專業(yè)及相關(guān)專業(yè)的一門重要專業(yè)基礎(chǔ)課,也是一門必修的核心課程。在計(jì)算機(jī)科學(xué)的各領(lǐng)域中,都會用到各種不同的數(shù)據(jù)結(jié)構(gòu):編譯系統(tǒng)中要使用棧、散列表、語法樹等;操作系統(tǒng)中要使用隊(duì)列、存儲管理表、目錄樹等;數(shù)據(jù)庫系統(tǒng)中要使用線性表、鏈表、索引樹等;人工智能中要使用廣義表、檢索樹、有向圖等;同樣在面向?qū)ο蟪绦蛟O(shè)計(jì)、計(jì)算機(jī)圖形學(xué)、軟件工程、多媒體技術(shù)、計(jì)算機(jī)輔助設(shè)計(jì)等領(lǐng)域,也會用到各種不同的數(shù)據(jù)結(jié)構(gòu)。因此,學(xué)好“數(shù)據(jù)結(jié)構(gòu)”這門課程,對于從事計(jì)算機(jī)技術(shù)及相關(guān)領(lǐng)域的工作人員來說是非常重要的,它可以使我們掌握各種不同的數(shù)據(jù)結(jié)構(gòu)及其使用場合、算法的具體實(shí)現(xiàn),以及每一種算法的時(shí)間復(fù)雜度分析和空間復(fù)雜度分析,知道在哪種情況下,使用哪種數(shù)據(jù)結(jié)構(gòu)最方便,為以后開發(fā)大型程序而使用各種不同的數(shù)據(jù)結(jié)構(gòu)奠定基礎(chǔ)。
由于數(shù)據(jù)結(jié)構(gòu)的原理和算法比較抽象,而該課程一般在剛學(xué)完程序設(shè)計(jì)后開設(shè),學(xué)生在程序設(shè)計(jì)方面的知識較少,因此,對于僅具有一些計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)的初學(xué)者來說,理解和掌握數(shù)據(jù)結(jié)構(gòu)中的原理和算法就比較困難,在解答數(shù)據(jù)結(jié)構(gòu)習(xí)題時(shí),往往感到無從下手,更不知道算法如何描述、如何編寫,作者在多年的教學(xué)中也深有感觸。作者通過多年的教學(xué)實(shí)踐,收集、整理進(jìn)而編寫了這本《數(shù)據(jù)結(jié)構(gòu)(C語言版)習(xí)題解答及實(shí)訓(xùn)指導(dǎo)》,目的是:通過對習(xí)題的解答,使學(xué)生充分掌握數(shù)據(jù)結(jié)構(gòu)的原理、求解數(shù)據(jù)結(jié)構(gòu)問題的思路和方法,并編寫出正確的算法,進(jìn)一步加深學(xué)生對基本概念的理解,提高學(xué)生分析問題和解決問題的能力,為其整個專業(yè)的學(xué)習(xí)打下堅(jiān)實(shí)基礎(chǔ),并為今后大型軟件開發(fā)積累較豐富的經(jīng)驗(yàn)。
本書是《數(shù)據(jù)結(jié)構(gòu)(C語言版)》的配套教材,共兩大部分內(nèi)容。第一部分為習(xí)題及解答,包含配套教材中的習(xí)題和一些綜合題,主要是對教材中的習(xí)題給出解答思路提示、算法分析,最后再給出完整的答案、算法或程序。每章都包含基本概念和算法設(shè)計(jì)方面的題型,以幫助學(xué)生掌握數(shù)據(jù)結(jié)構(gòu)的基本概念,提高其使用各種不同的數(shù)據(jù)結(jié)構(gòu)分析問題、解決問題的能力。第二部分為上機(jī)實(shí)訓(xùn)指導(dǎo),包含C語言的上機(jī)環(huán)境介紹,并給出了十套實(shí)訓(xùn)題,每套實(shí)訓(xùn)題包括多道上機(jī)題目,都給出了實(shí)訓(xùn)目的、采用的主要方法和算法設(shè)計(jì)技巧,最后給出了完整的C語言源程序來實(shí)現(xiàn)算法,本書所有C語言源程序都在VC++ 6.0環(huán)境下運(yùn)行通過。這些實(shí)訓(xùn)題可以使學(xué)生了解并學(xué)會如何運(yùn)用數(shù)據(jù)結(jié)構(gòu)知識去解決現(xiàn)實(shí)世界中的某些實(shí)際問題,且具備設(shè)計(jì)較復(fù)雜算法的基本能力。
本書的目的是幫助學(xué)生學(xué)好“數(shù)據(jù)結(jié)構(gòu)”這門課程,所以在使用本書的過程中,請注意以下幾點(diǎn):第一,該書要與《數(shù)據(jù)結(jié)構(gòu)(C語言版)》教材一起使用,以便與課程內(nèi)容同步,有利于學(xué)生進(jìn)一步掌握各種基礎(chǔ)知識,加深對課堂所講授內(nèi)容的理解;第二,算法設(shè)計(jì)是不唯一的,除了書中給出的算法外,學(xué)生可能還會有其他的算法,這說明學(xué)生對這方面的知識掌握得很好;第三,本書旨在幫助學(xué)生學(xué)習(xí)和理解數(shù)據(jù)結(jié)構(gòu)知識,請學(xué)生在做作業(yè)前,先自己動腦思考、動手寫,不要盲目照抄答案,否則只會收到事倍功半的效果。
本書的最大特點(diǎn)是采用C語言作為算法的描述語言,所有算法都已經(jīng)上機(jī)調(diào)試通過。但是,由于篇幅所限,大部分算法都是以單獨(dú)的函數(shù)形式給出,若讀者要運(yùn)行這些算法,還必須給出一些變量的說明及主函數(shù)來調(diào)用所給的函數(shù)。因此,書中的算法描述比用類C語言描述的算法更直觀,更易于讀者理解和接受。作者在十幾年的“數(shù)據(jù)結(jié)構(gòu)”課程教學(xué)中,對數(shù)據(jù)結(jié)構(gòu)中的各種算法進(jìn)行了認(rèn)真的研究和分析,在這方面積累了豐富的經(jīng)驗(yàn),因此,書中所選的綜合題和習(xí)題都具有一定的針對性,都是針對特定的數(shù)據(jù)結(jié)構(gòu)來描述的,能為復(fù)雜的數(shù)據(jù)結(jié)構(gòu)算法描述架橋鋪路。
本書可以作為高等院校本科及專科學(xué)生學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的參考資料,也可作為數(shù)據(jù)結(jié)構(gòu)自學(xué)者的參考書和碩士研究生入學(xué)考試的參考教材,同時(shí)還可供從事計(jì)算機(jī)應(yīng)用工作的工程與技術(shù)人員參考。選用本書的學(xué)校,可以根據(jù)學(xué)校自身的條件,在十套實(shí)訓(xùn)題中有針對性地選擇。
本書由李根強(qiáng)、謝月娥擔(dān)任主編,由李根強(qiáng)老師統(tǒng)稿、修改、定稿。在本書的編寫過程中,得到了湖南大學(xué)計(jì)算機(jī)與通信學(xué)院領(lǐng)導(dǎo)的大力支持,在此深表感謝。
由于時(shí)間倉促及作者水平有限,書中不妥和錯誤之處在所難免,敬請廣大讀者批評指正。
編 者
2017年2月
第1章 緒論 1
1.1 基本概念 1
1.1.1 數(shù)據(jù)結(jié)構(gòu) 1
1.1.2 存儲方式 1
1.1.3 算法及評價(jià) 2
1.2 習(xí)題及解答 2
1.2.1 配套教材中的習(xí)題 2
1.2.2 綜合題 10
第2章 線性表 14
2.1 基本概念及運(yùn)算 14
2.1.1 順序表 14
2.1.2 線性鏈表 14
2.1.3 雙向鏈表 14
2.1.4 循環(huán)鏈表 14
2.2 習(xí)題及解答 14
2.2.1 配套教材中的習(xí)題 14
2.2.2 綜合題 31
第3章 棧和隊(duì)列 37
3.1 基本概念及運(yùn)算 37
3.1.1 棧 37
3.1.2 隊(duì)列 37
3.2 習(xí)題及解答 37
3.2.1 配套教材中的習(xí)題 37
3.2.2 綜合題 46
第4章 串 53
4.1 基本概念及運(yùn)算 53
4.1.1 串的順序存儲及運(yùn)算 53
4.1.2 串的鏈?zhǔn)酱鎯斑\(yùn)算 53
4.2 習(xí)題及解答 53
4.2.1 配套教材中的習(xí)題 53
4.2.2 綜合題 62
第5章 多維數(shù)組和廣義表 67
5.1 基本概念及運(yùn)算 67
5.1.1 多維數(shù)組的概念及存儲 67
5.1.2 特殊矩陣及壓縮存儲 67
5.1.3 稀疏矩陣及壓縮存儲 67
5.1.4 廣義表的存儲及運(yùn)算 67
5.2 習(xí)題及解答 68
5.2.1 配套教材中的習(xí)題 68
5.2.2 綜合題 75
第6章 樹和二叉樹 81
6.1 樹的基本概念 81
6.1.1 樹的定義 81
6.1.2 基本術(shù)語 81
6.1.3 樹的表示 82
6.2 二叉樹的基本概念和性質(zhì) 82
6.2.1 二叉樹的定義 82
6.2.2 二叉樹的性質(zhì) 82
6.2.3 二叉樹的存儲結(jié)構(gòu) 83
6.2.4 二叉樹的基本運(yùn)算 83
6.2.5 二叉樹的應(yīng)用 83
6.2.6 樹、森林和二叉樹之間的相互關(guān)系 83
6.3 習(xí)題及解答 83
6.3.1 配套教材中的習(xí)題 83
6.3.2 綜合題 93
第7章 圖 102
7.1 基本概念及運(yùn)算 102
7.1.1 圖的基本術(shù)語 102
7.1.2 圖的存儲形式 103
7.1.3 圖的基本運(yùn)算 103
7.2 習(xí)題及解答 103
7.2.1 配套教材中的習(xí)題 103
7.2.2 綜合題 123
第8章 查找 131
8.1 基本概念 131
8.1.1 順序查找 131
8.1 2 二分查找 131
8.1.3 分塊查找 131
8.1.4 二叉排序樹查找 131
8.1.5 散列查找 132
8.2 習(xí)題及解答 132
8.2.1 配套教材中的習(xí)題 132
8.2.2 綜合題 139
第9章 內(nèi)排序 144
9.1 基本概念 144
9.1.1 插入排序 144
9.1.2 交換排序 144
9.1.3 選擇排序 144
9.1.4 歸并排序 144
9.1.5 分配排序 144
9.2 習(xí)題及解答 144
9.2.1 配套教材中的習(xí)題 144
9.2.2 綜合題 155
第10章 外排序 160
10.1 基本概念 160
10.1.1 外排序的基本概念 160
10.1.2 初始?xì)w并段的生成 160
10.1.3 多路平衡歸并 160
10.2 習(xí)題及解答 160
第11章 文件 175
11.1 基本概念 175
11.1.1 文件的基本概念 175
11.1.2 文件的存儲和組織 175
11.2 習(xí)題及解答 176
第二部分 上機(jī)實(shí)訓(xùn)指導(dǎo)
第12章 上機(jī)環(huán)境 178
12.1 Turbo C上機(jī)環(huán)境 178
12.1.1 建立C語言源程序 178
12.1.2 打開已存在的C語言源程序 179
12.1.3 編譯并運(yùn)行C語言源程序 179
12.2 Visual C++上機(jī)環(huán)境 181
12.2.1 新建C語言源程序并編譯和運(yùn)行 181
12.2.2 打開已經(jīng)存在的源程序并編譯
和運(yùn)行 187
12.2.3 源程序的保存 189
第13章 實(shí)訓(xùn)內(nèi)容 190
實(shí)訓(xùn)題一 線性表的順序存儲 190
一、實(shí)訓(xùn)目的 190
二、實(shí)訓(xùn)內(nèi)容 190
三、算法描述 190
實(shí)訓(xùn)題二 線性表的鏈?zhǔn)酱鎯?193
一、實(shí)訓(xùn)目的 193
二、實(shí)訓(xùn)內(nèi)容 194
三、算法描述 194
實(shí)訓(xùn)題三 棧和隊(duì)列的應(yīng)用 203
一、實(shí)訓(xùn)目的 203
二、實(shí)訓(xùn)內(nèi)容 203
三、算法描述 203
實(shí)訓(xùn)題四 多維數(shù)組的應(yīng)用 212
一、實(shí)訓(xùn)目的 212
二、實(shí)訓(xùn)內(nèi)容 212
三、算法描述 212
實(shí)訓(xùn)題五 二叉樹的遍歷和應(yīng)用 218
一、實(shí)訓(xùn)目的 218
二、實(shí)訓(xùn)內(nèi)容 218
三、算法描述 218
實(shí)訓(xùn)題六 哈夫曼樹的建立及應(yīng)用 226
一、實(shí)訓(xùn)目的 226
二、實(shí)訓(xùn)內(nèi)容 226
三、算法描述 226
實(shí)訓(xùn)題七 圖的鄰接矩陣和遍歷 228
一、實(shí)訓(xùn)目的 228
二、實(shí)訓(xùn)內(nèi)容 229
三、算法描述 229
實(shí)訓(xùn)題八 圖的鄰接表和遍歷 231
一、實(shí)訓(xùn)目的 231
二、實(shí)訓(xùn)內(nèi)容 231
三、算法描述 231
實(shí)訓(xùn)題九 查找 234
一、實(shí)訓(xùn)目的 234
二、實(shí)訓(xùn)內(nèi)容 234
三、算法描述 234
實(shí)訓(xùn)題十 排序 238
一、實(shí)訓(xùn)目的 238
二、實(shí)訓(xùn)內(nèi)容 238
三、算法描述 238
參考文獻(xiàn) 246
- 庭院風(fēng)骨—樹、灌、籬 [創(chuàng)意房主 著]
- Python語言程序設(shè)計(jì)教程 [郭其標(biāo) 房宜汕]
- 微積分(經(jīng)管類)教程篇(下冊) [曹海軍 王海棠 周玲麗]
- 微積分(經(jīng)管類)教程篇(上冊) [曹海軍 王海棠 周玲麗]
- 微積分(經(jīng)管類)導(dǎo)學(xué)篇(上冊) [王海棠 曹海軍 周玲麗]
- 網(wǎng)站前端技術(shù)案例教程(HTML+CSS+JavaScript)(第二版) [黃華升]
- 線性代數(shù) [主編 史昱 陳鳳欣]
- 電力電子技術(shù)課程學(xué)習(xí)及實(shí)驗(yàn)指導(dǎo) [主編 陳榮]
- 成長對話:青春的榜樣 [主編 施端銀 黃武剛 應(yīng)巨林]
- 人工智能應(yīng)用基礎(chǔ) [主編 楊纓 李佳]
- 中華水文化(慕課版)(第二版) [畢雪燕 楊華軻 羅玲誼 等編著]
- 電路與電子技術(shù)Ⅱ——電路分析基礎(chǔ) [主編 陳曉 金哲]
- 飛機(jī)維修專業(yè)英語——飛機(jī)系統(tǒng)(第二版) [趙迎春]
- 英語大爆炸:跟趣味情景劇學(xué)口語(微課版) [秦然 編著]
- 機(jī)械工程制圖任務(wù)跟蹤訓(xùn)練 [主編 王瑞清 趙金考 周彥云 ]
- 機(jī)械工程制圖 [主編 覃國萍 劉百順 禹晨]
- 平面設(shè)計(jì)與制作項(xiàng)目化教程 [主編 李晨]
- 后期影像剪輯技術(shù) [主編 郭建偉]
- 人工智能概論(第二版) [主編 任云暉 丁紅 徐迎春 ]
- 信息時(shí)代美育之道 [主編 劉宏宇 黎婭]
- 數(shù)字媒體交互設(shè)計(jì)項(xiàng)目式教程(微課版) [主編 蘇陸]
- 動畫運(yùn)動規(guī)律項(xiàng)目實(shí)例解析(微課版) [孫珊珊 袁維坤]
- 自然語言處理 [主編 馮建周]
- 新媒體內(nèi)容創(chuàng)作實(shí)務(wù)(微課版) [主編 覃思源]
- 人工智能基礎(chǔ) [主編 余平 張春陽]
- 人工智能導(dǎo)論 [主編 王飛 潘立武]
- Amazing!兒童英語自然拼讀分級教材(全8冊) [王玲 編著]
- Spark大數(shù)據(jù)處理技術(shù) [主編 劉仁山 周洪翠 莊新妍]
- 毫無PS痕跡—你的第一本Photoshop書(第二版) [趙鵬 著]
- 電視新聞制作(活頁式) [主編 王曉翠 劉傳琳]
- 生活經(jīng)管more>>
- C#程序設(shè)計(jì)教程
- 軟件設(shè)計(jì)模式實(shí)用教程
- 數(shù)據(jù)庫原理及應(yīng)用(MySQL版)
- 基于Android平臺的移動開發(fā)技術(shù)
- Android 應(yīng)用開發(fā)項(xiàng)目實(shí)戰(zhàn)
- 軟件工程(第二版)
- Java程序設(shè)計(jì)案例教程
- Visual C++6.0程序項(xiàng)目案例教程
- 數(shù)據(jù)庫原理
- 計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)指導(dǎo)
- ACM程序設(shè)計(jì)基礎(chǔ)
- Android應(yīng)用開發(fā)基礎(chǔ)教程
- Java程序設(shè)計(jì)實(shí)訓(xùn)教程
- Java面向?qū)ο蟪绦蛟O(shè)計(jì)
- Java面向?qū)ο蟪绦蛟O(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)(C語言版)習(xí)題解答及實(shí)訓(xùn)指