數(shù)據(jù)結(jié)構(gòu)實用教程(C語言版)

-
【作 者】董鳳服 等編著
【I S B N 】978-7-5084-5709-3
【責(zé)任編輯】李炎
【適用讀者群】中職中專
【出版時間】2008-09-01
【開 本】16開本
【裝幀信息】平裝(光膜)
【版 次】2008年09月第1版
【頁 數(shù)】248
【千字數(shù)】
【印 張】
【定 價】¥26
【叢 書】21世紀(jì)職業(yè)教育模塊化(試驗)教材
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
數(shù)據(jù)結(jié)構(gòu)是計算機專業(yè)的一門專業(yè)基礎(chǔ)課,也是一門核心課程。本書是以C語言為工具編寫的,學(xué)習(xí)本課程需要具備相關(guān)的C語言知識。本書介紹了各種常用的數(shù)據(jù)結(jié)構(gòu),討論它們在計算機中的存儲結(jié)構(gòu)及相關(guān)操作和實用算法。
為了讓學(xué)生能夠應(yīng)用數(shù)據(jù)結(jié)構(gòu)的知識,更好地進行算法和程序的設(shè)計,本書從基本概念講起,由淺入深,介紹各種數(shù)據(jù)結(jié)構(gòu)及相關(guān)操作。在每章的課后習(xí)題里,舉了很多數(shù)據(jù)結(jié)構(gòu)的經(jīng)典題型并給出答案,方便學(xué)生理解所學(xué)知識。為提高動手能力,在每章結(jié)束時舉了很多的實例,力求理論聯(lián)系實際,加深學(xué)生對所學(xué)知識的理解,方便學(xué)生上機實習(xí)。
最后以線性表、棧和隊列、樹和圖四種最基本數(shù)據(jù)結(jié)構(gòu)為主,給出相關(guān)的實訓(xùn)內(nèi)容并包括所有上機程序,極大地方便了應(yīng)用型高職學(xué)生的學(xué)習(xí)及應(yīng)用。
本書主要適合高等職業(yè)院校的計算機專業(yè)學(xué)生,也適合于自學(xué)計算機相關(guān)知識的人員參考使用。
數(shù)據(jù)結(jié)構(gòu)是計算機專業(yè)的一門專業(yè)基礎(chǔ)課,也是一門核心課程,在計算機專業(yè)課程的學(xué)習(xí)中起到承前啟后的作用。本書是用C語言編寫的,學(xué)習(xí)該課程需要先學(xué)習(xí)C語言的相關(guān)知識。本書結(jié)合計算機專業(yè)的教學(xué)大綱進行編寫,介紹了各種常用的數(shù)據(jù)結(jié)構(gòu),并討論它們在計算機中的存儲結(jié)構(gòu)及相關(guān)操作和實用算法。為了讓學(xué)生能夠應(yīng)用數(shù)據(jù)結(jié)構(gòu)的知識更好地學(xué)習(xí)算法和程序設(shè)計,本書從基本概念講起,由淺入深,介紹各種數(shù)據(jù)結(jié)構(gòu)及相關(guān)操作,在每章的課后習(xí)題里,給出很多數(shù)據(jù)結(jié)構(gòu)的經(jīng)典題型并附答案,方便學(xué)生理解所學(xué)知識,加深學(xué)生對知識點的理解并提高學(xué)生的自學(xué)能力。
本教材共分9章。第1章“概論”主要介紹數(shù)據(jù)結(jié)構(gòu)的基本概念和算法描述。第2章“線性表”介紹線性表的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)和基本操作的實現(xiàn)。第3章“棧和隊列”介紹棧和隊列的特點及其各種存儲結(jié)構(gòu)與基本操作的實現(xiàn),并給出了相應(yīng)的實例。第4章“串和數(shù)組”介紹串的各種存儲結(jié)構(gòu)與基本操作的實現(xiàn),數(shù)組的各種存儲結(jié)構(gòu)及稀疏矩陣的基本概念。第5章“樹和二叉樹”介紹樹的定義與表示、二叉樹的基本操作及哈夫曼樹。第6章“圖”介紹圖的各種存儲結(jié)構(gòu)和遍歷的實現(xiàn),以及各種圖的實際應(yīng)用,如圖的最小生成樹、關(guān)鍵路徑及最短路徑問題等。第7章“查找”介紹了各種常用的查找方法及其實現(xiàn)。第8章“排序”介紹了各種常用的排序方法及其實現(xiàn)。第9章“上機實訓(xùn)”主要針對高職教育強調(diào)動手能力的要求,給出了各種重要數(shù)據(jù)類型的典型綜合實例及相關(guān)的流程和分析過程,并且給出所有上機的源程序和運行結(jié)果。加深學(xué)生對所學(xué)知識的理解,體現(xiàn)了應(yīng)用型高職院校的高技能型人才的培養(yǎng)目標(biāo)。本書的特色在于書中的所有算法全部在Turbo C 2.0下調(diào)試通過,對每個算法給出可以調(diào)用其運行的主函數(shù)及其相關(guān)輔助函數(shù),并給出該算法的運行參考結(jié)果,方便學(xué)生調(diào)試運行程序,使學(xué)生更加深刻地理解程序設(shè)計過程中的算法編寫技巧(如函數(shù)的調(diào)用及參數(shù)傳遞方式)。本書主要適合于高等職業(yè)院校的計算機專業(yè)學(xué)生,也適合于自學(xué)計算機相關(guān)知識的人員參考使用。
本書由董鳳服、劉暢、王茹編著。由于水平所限,盡管編者不遺余力,仍可能存在錯誤和不足之處,敬請讀者批評指正,本書還配套有相應(yīng)的章節(jié)課件及完整的C語言源程序代碼(已在Turbo C 2.0下全部調(diào)試通過)
前言
第1章 概論 1
1.1 數(shù)據(jù)結(jié)構(gòu)的概念 1
1.1.1 基本概念及術(shù)語 1
1.1.2 數(shù)據(jù)的邏輯結(jié)構(gòu) 2
1.1.3 數(shù)據(jù)的存儲結(jié)構(gòu) 4
1.1.4 抽象數(shù)據(jù)類型 5
1.2 算法和算法分析 5
1.2.1 算法的概念 5
1.2.2 算法分析 6
1.2.3 相關(guān)C語言知識回顧 8
1.3 本章小結(jié) 11
課后習(xí)題 12
第2章 線性表 14
2.1 線性表的基本概念 14
2.1.1 線性表的定義 14
2.1.2 線性表的基本操作 14
2.2 順序表 15
2.2.1 順序表 15
2.2.2 順序表的基本操作與實現(xiàn) 16
2.3 鏈表 19
2.3.1 單鏈表 20
2.3.2 單鏈表的基本操作與實現(xiàn) 21
2.3.3 鏈表的變形 25
2.4 線性表的應(yīng)用舉例 28
2.5 本章小結(jié) 33
課后習(xí)題 33
第3章 棧和隊列 35
3.1 棧 35
3.1.1 棧的概念 35
3.1.2 棧的基本操作 35
3.1.3 順序棧 36
3.1.4 鏈棧 39
3.2 隊列 42
3.2.1 隊列的概念 42
3.2.2 隊列的基本操作 43
3.2.3 順序隊列 43
3.2.4 循環(huán)隊列 44
3.2.5 鏈隊列 49
3.3 棧和隊列的應(yīng)用舉例 53
3.4 本章小結(jié) 58
課后習(xí)題 58
第4章 串和數(shù)組 61
4.1 串 61
4.1.1 串的基本概念 61
4.1.2 串的基本操作 62
4.1.3 串的存儲結(jié)構(gòu) 63
4.2 數(shù)組 71
4.2.1 數(shù)組的定義 71
4.2.2 數(shù)組存儲的排列順序 72
4.2.3 稀疏矩陣的壓縮存儲 73
4.2.4 稀疏矩陣的轉(zhuǎn)置算法 74
4.3 本章小結(jié) 75
課后習(xí)題 75
第5章 樹和二叉樹 77
5.1 樹 77
5.1.1 樹的定義 77
5.1.2 樹的表示方法 78
5.1.3 樹的基本術(shù)語 78
5.1.4 樹的存儲結(jié)構(gòu) 79
5.2 二叉樹 81
5.2.1 二叉樹的定義 81
5.2.2 二叉樹的性質(zhì) 82
5.2.3 二叉樹的存儲結(jié)構(gòu) 84
5.2.4 二叉樹的基本運算 85
5.3 二叉樹的建立和遍歷 85
5.3.1 二叉樹的建立和輸出 85
5.3.2 二叉樹的遍歷 87
5.3.3 由遍歷序列恢復(fù)二叉樹 90
5.4 樹、森林與二叉樹的轉(zhuǎn)換 92
5.4.1 樹、森林轉(zhuǎn)換為二叉樹 92
5.4.2 二叉樹還原為樹、森林 94
5.5 哈夫曼樹 96
5.5.1 相關(guān)概念和哈夫曼樹的定義 96
5.5.2 哈夫曼樹的構(gòu)造方法 97
5.5.3 哈夫曼編碼 100
5.6 本章小結(jié) 104
課習(xí)題 104
第6章 圖 107
6.1 圖的基本概念 107
6.1.1 圖的定義 107
6.1.2 圖的基本術(shù)語 108
6.1.3 圖的基本操作 110
6.2 圖的存儲結(jié)構(gòu) 111
6.2.1 鄰接矩陣 111
6.2.2 鄰接表 113
6.3 圖的遍歷 118
6.3.1 深度優(yōu)先搜索法 118
6.3.2 廣度優(yōu)先搜索法 120
6.4 最小生成樹 122
6.4.1 普里姆(Prim)算法 122
6.4.2 克魯斯卡爾(Kruskal)算法 126
6.5 拓撲排序 129
6.6 AOE網(wǎng)與關(guān)鍵路徑 132
6.7 最短路徑問題 135
6.7.1 求一個頂點到其他各頂點的最短路徑 135
6.7.2 求每一對頂點之間的最短路徑 139
6.8 本章小結(jié) 144
課后習(xí)題 144
第7章 查找 147
7.1 基本概念 147
7.2 靜態(tài)查找 148
7.2.1 順序查找 148
7.2.2 折半查找 150
7.2.3 分塊查找 154
7.3 二叉排序樹查找 156
7.3.1 二叉排序樹的概念 157
7.3.2 二叉排序樹的基本運算 157
7.4 哈希表查找 163
7.4.1 哈希表查找的基本思想 163
7.4.2 哈希表的構(gòu)造方法 164
7.4.3 哈希表的沖突處理 165
7.4.4 哈希表的查找及性能分析 168
7.5 本章小結(jié) 170
課后習(xí)題 170
第8章 排序 173
8.1 排序的基本概念 173
8.1.1 排序的定義 173
8.1.2 排序的相關(guān)概念 173
8.2 插入排序 174
8.2.1 直接插入排序 174
8.2.2 希爾排序 176
8.3 交換排序 177
8.3.1 冒泡排序 178
8.3.2 快速排序 180
8.4 選擇排序 182
8.4.1 直接選擇排序 182
8.4.2 堆排序 183
8.5 歸并排序 187
8.6 本章小結(jié) 190
課后習(xí)題 190
第9章 上機實訓(xùn) 192
9.1 學(xué)生成績管理系統(tǒng) 192
9.2 約瑟夫環(huán)問題 199
9.3 停車場管理系統(tǒng) 203
9.4 求各城市間最短路程問題 211
9.5 二叉排序樹的各種操作 214
習(xí)題答案 220
模擬試題 233
參考文獻 240
- 數(shù)據(jù)結(jié)構(gòu)(Python語言描述) [曹岳輝 劉衛(wèi)國 康松林 編著]
- 單片機應(yīng)用技術(shù)項目教程(C語言版)(第三版) [主編 郭志勇]
- 數(shù)據(jù)結(jié)構(gòu)——C語言(微課版) [主編 梁海英]
- 單片機原理及應(yīng)用技術(shù)(C語言版) [周國運 魯慶賓 趙天翔 編著]
- 數(shù)據(jù)結(jié)構(gòu)(C語言版)習(xí)題解答及實訓(xùn)指導(dǎo) [李根強 謝月娥]
- 數(shù)據(jù)結(jié)構(gòu)(C語言版) [主編 李根強 劉浩 謝月娥]
- 數(shù)據(jù)結(jié)構(gòu)(Java版) [主編 李云平]
- 數(shù)據(jù)結(jié)構(gòu) [主編 韓利凱 朱浩悅]
- 單片機原理及應(yīng)用項目化教程(C語言版) [主編 謝四連 王善偉 李石林]
- 數(shù)據(jù)結(jié)構(gòu)(C語言版)(第三版) [主編 庫波 曹靜]
- 數(shù)據(jù)結(jié)構(gòu)(Java版) [孫琳 張宇]
- 單片機應(yīng)用技術(shù)項目教程(C語言版)(第二版) [主編 郭志勇]
- 數(shù)據(jù)結(jié)構(gòu) [許繪香 段明義]
- 數(shù)據(jù)結(jié)構(gòu)(C語言描述) [李素若 陳萬華 游明坤 編著]
- 數(shù)據(jù)結(jié)構(gòu)習(xí)題解答及上機指導(dǎo) [李素若 琚輝 嚴(yán)永松 編著]
- 單片機原理及應(yīng)用教程(C語言版) [主編 周國運]
- 數(shù)據(jù)結(jié)構(gòu)(C++描述)習(xí)題解答及實習(xí)指導(dǎo) [李根強 謝月娥 主編]
- 數(shù)據(jù)結(jié)構(gòu)(C語言版)學(xué)習(xí)指導(dǎo)與習(xí)題解答 [趙堅 姜梅 主編]
- 數(shù)據(jù)結(jié)構(gòu) [陸勤 主編 ]
- 數(shù)據(jù)結(jié)構(gòu)(C++描述) [李根強 主 編]
- 單片機應(yīng)用技術(shù)項目教程(C語言版) [郭志勇]
- 數(shù)據(jù)結(jié)構(gòu)(C++版)--習(xí)題解答及實習(xí)指導(dǎo) [李根強 主編]
- 數(shù)據(jù)結(jié)構(gòu)算法--Visual C++ 6.0程序集 [侯識忠 等編著]
- 數(shù)據(jù)結(jié)構(gòu)算法--C++ Builder 6.0程序集 [侯識忠 等編著]
- 數(shù)據(jù)結(jié)構(gòu)(C語言版)學(xué)習(xí)指導(dǎo)與習(xí)題解答 [趙堅 姜梅 主編]
- 數(shù)據(jù)結(jié)構(gòu)(C語言版) [趙堅 姜梅 主編]
- 數(shù)據(jù)結(jié)構(gòu)(C語言描述) [斯慶巴拉 主編]
- 單片機原理及應(yīng)用(C語言版) [周國運 主編]
- 數(shù)據(jù)結(jié)構(gòu)(C++版)(第二版) [李根強]
- 數(shù)據(jù)結(jié)構(gòu)(C++版)(第二版)習(xí)題解答及實訓(xùn)指導(dǎo) [李根強]