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