數(shù)據(jù)結(jié)構(gòu)(C語言描述)

-
【作 者】馬秋菊 主編
【I S B N 】978-7-5084-3839-6
【責任編輯】張玉玲
【適用讀者群】高職高專
【出版時間】2006-09-01
【開 本】16開本
【裝幀信息】平裝(光膜)
【版 次】第1版
【頁 數(shù)】204
【千字數(shù)】
【印 張】
【定 價】¥20
【叢 書】21世紀高職高專新概念教材
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書所選內(nèi)容都是高職高專計算機及相關(guān)專業(yè)必須掌握的知識點,全書共9章,主要內(nèi)容包括:線性表、棧和隊列、數(shù)組、特殊矩陣和廣義表、串、樹、圖、查找和排序等。各章中對所涉及的數(shù)據(jù)結(jié)構(gòu)與算法均給出了通俗的解釋和類C語言描述,其中的重點內(nèi)容是以C語言函數(shù)或過程形式給出的,同時在每章后面的上機實習中給出了具體應用調(diào)用(已經(jīng)運行通過),其目的是使讀者能夠?qū)W到的知識落實到應用中。
本書內(nèi)容精煉、敘述通俗、示例說服力強、便于講解和學習、突出實用性和應用性。
本書可作為高等職業(yè)學校、高等?茖W校、成人高等學校及本科院校舉辦的二級職業(yè)技術(shù)學院計算機及相關(guān)專業(yè)數(shù)據(jù)結(jié)構(gòu)的教材,也適合計算機軟件開發(fā)的科技人員自學參考。
“數(shù)據(jù)結(jié)構(gòu)”是計算機程序設(shè)計的重要理論技術(shù)基礎(chǔ),是計算機專業(yè)的核心課程。在目前大力發(fā)展職業(yè)技術(shù)應用教育的新形勢下,急需概念通俗易懂,知識針對性強,實驗、實習及工程訓練等內(nèi)容齊全的教科書,本書正是針對這種目的編寫的。本書系統(tǒng)地介紹了各種數(shù)據(jù)結(jié)構(gòu)的概念、存儲結(jié)構(gòu)和有關(guān)算法,并采用了當前通用的C語言描述算法。主要內(nèi)容包括緒論、線性表、棧和隊列、數(shù)組、串、樹、圖、查找和排序等。
參加本書編寫的作者全部是有本課程教學實踐和課程建設(shè)經(jīng)驗的教師,在多年的教學和課程建設(shè)的實踐中,我們體會到,學生在學習中普遍存在的突出問題是:入門難、算法抽象難理解、算法與實現(xiàn)和應用存在一定距離、應用針對性差等,制約著學習效果。針對實際情況,我們進行了充分的討論,在本課程建設(shè)的基礎(chǔ)上,制定了本書的編寫原則:重視基礎(chǔ),循序漸進,內(nèi)容精煉,敘述通俗,重點突出,示例說服力強,便于講解和學習,強調(diào)理論與實踐相結(jié)合,突出實踐和應用能力的培養(yǎng)。
本書的主要特點如下:
(1)教學內(nèi)容的深度與廣度合適、定位準確,具有鮮明的高職高專特色。
所選擇的教學內(nèi)容既體現(xiàn)了應用型人才教育對基礎(chǔ)理論知識較扎實的要求即夠用,又兼顧了知識的系統(tǒng)性與完整性、應用性和工程實踐性。
(2)融入先進教學理念,概念通俗易懂、知識針對性強,符合應用型人才認知規(guī)律。
體現(xiàn)“以學生為主體”的現(xiàn)代教學理念,選擇了具有啟發(fā)性、思考性和鼓勵自主學習的教學內(nèi)容,設(shè)計了引發(fā)學生學習與探究興趣的“驅(qū)動問題”,面向教學方法和過程,語言通俗,降低難度,針對性強,重點突出。
(3)算法描述清晰,有利于教師講解。
在算法思想和算法描述中,盡量避免教學過程中的混淆,如“關(guān)鍵字”使用key標識符,則在同一問題中就不再選擇key作為其他變量,使教學、理解更簡單。
(4)強調(diào)理論與實踐相結(jié)合,突出實踐和應用能力的培養(yǎng)。
在重點知識突出的基礎(chǔ)上,強調(diào)算法的具體實現(xiàn):以C語言函數(shù)或過程形式給出內(nèi)容,同時在每章后面的上機實習中給出了具體應用調(diào)用(已經(jīng)運行通過),達到學以致用的目的,培養(yǎng)學生具有完整應用程序的開發(fā)理念,對應用系統(tǒng)開發(fā)有一個明晰的概念。
(5)本書配備了電子教案等相關(guān)教學資源。
電子教案中的實例是在PowerPoint環(huán)境下嵌入VBA技術(shù)來實現(xiàn)算法與數(shù)據(jù)處理的,使教學更形象、更容易理解,另外還可提供源代碼、同步訓練題等資料。
本書可作為職業(yè)技術(shù)應用型計算機專業(yè)教材,建議講授學時為60~70學時。
本書由馬秋菊主編,王學軍、劉延嶺任副主編。本書主要編寫人員分工如下:第1~5章由馬秋菊編寫,第6章由殷華英編寫,第7~9章由王學軍編寫;上機實習內(nèi)容的第2、4~7章由劉延嶺編寫,第8、9章由張清濤編寫,第3章由劉延嶺與張清濤共同編寫,全書由馬秋菊和劉延嶺統(tǒng)稿。另外參加大綱討論、提供實用信息的人員還有:孔小利、宋漢珍、李海明、郝春雷、董國增、謝懿、張占昭、李小芳、薛茹等老師。在編寫過程中,得到了主審馬曉晨副教授和相關(guān)專家的指導,在此一并表示衷心的感謝。
由于編者水平有限,書中難免有一些不足之處,懇請廣大讀者批評指正。
前言
第1章 數(shù)據(jù)結(jié)構(gòu)概述 1
本章學習目標 1
1.1 為什么要學習數(shù)據(jù)結(jié)構(gòu) 1
1.2 數(shù)據(jù)結(jié)構(gòu)的有關(guān)概念和術(shù)語 3
1.2.1 基本概念和術(shù)語 3
1.2.2 數(shù)據(jù)結(jié)構(gòu)定義 4
1.3 算法和算法描述 5
1.3.1 算法與算法特性 5
1.3.2 算法描述 6
1.4 算法時空效率分析方法 7
習題 9
第2章 線性表 12
本章學習目標 12
2.1 線性表的邏輯結(jié)構(gòu) 12
2.1.1 線性表的定義 12
2.1.2 線性表的基本操作 13
2.2 線性表的順序存儲結(jié)構(gòu)及運算實現(xiàn) 13
2.2.1 順序表 13
2.2.2 順序表上基本運算的實現(xiàn) 14
2.3 線性表的鏈式存儲和運算實現(xiàn) 18
2.3.1 單鏈表 18
2.3.2 單鏈表基本運算的實現(xiàn) 20
2.3.3 循環(huán)鏈表 24
2.3.4 雙向鏈表 25
2.3.5 靜態(tài)鏈表 28
2.3.6 順序表和鏈表的比較 29
2.4 線性表的典型應用 29
習題 32
上機實習 33
第3章 棧和隊列 39
3.1 棧 39
3.1.1 棧的定義及基本運算 39
3.1.2 棧的順序存儲結(jié)構(gòu)及運算實現(xiàn) 40
3.1.3 棧的鏈式存儲結(jié)構(gòu)及運算實現(xiàn) 42
3.2 隊列 43
3.2.1 隊列的定義及基本運算 43
3.2.2 隊列的順序存儲結(jié)構(gòu)及運算實現(xiàn) 44
3.2.3 隊列的鏈式存儲結(jié)構(gòu)及運算實現(xiàn) 46
3.3 棧和隊列的典型應用 48
習題 56
上機實習 57
第4章 數(shù)組、特殊矩陣和廣義表 64
本章學習目標 64
4.1 數(shù)組 64
4.1.1 數(shù)組的基本概念 64
4.1.2 數(shù)組的存儲結(jié)構(gòu) 65
4.2 特殊矩陣的壓縮存儲 66
4.2.1 對稱矩陣 66
4.2.2 三角矩陣 67
4.2.3 對角矩陣 68
4.2.4 稀疏矩陣 69
4.3 廣義表 75
4.3.1 廣義表的定義和性質(zhì) 75
4.3.2 廣義表的基本運算 76
習題 76
上機實習 77
第5章 串 80
本章學習目標 80
5.1 串的定義及其基本運算 80
5.1.1 串的基本概念 80
5.1.2 串的基本運算 80
5.2 串的存儲結(jié)構(gòu) 81
5.2.1 串的順序存儲 81
5.2.2 串的鏈式存儲 82
5.3 串運算的應用 83
習題 85
上機實習 86
第6章 樹 89
本章學習目標 89
6.1 樹的概念與表示 89
6.1.1 樹的定義 89
6.1.2 樹的相關(guān)術(shù)語 90
6.1.3 樹的表示 91
6.2 二叉樹的概念與性質(zhì) 91
6.2.1 二叉樹的基本概念 91
6.2.2 二叉樹的重要性質(zhì) 92
6.3 二叉樹的存儲結(jié)構(gòu) 93
6.3.1 順序存儲結(jié)構(gòu) 93
6.3.2 鏈式存儲結(jié)構(gòu) 94
6.3.3 建立二叉樹的二叉鏈表 95
6.4 二叉樹的遍歷 96
6.5 線索二叉樹 100
6.5.1 線索二叉樹的定義及結(jié)構(gòu) 100
6.5.2 中序線索二叉樹操作 102
6.6 樹的存儲結(jié)構(gòu) 104
6.7 樹、森林與二叉樹的轉(zhuǎn)換 105
6.7.1 樹和森林轉(zhuǎn)換為二叉樹 105
6.7.2 二叉樹還原為樹和森林 107
6.8 哈夫曼樹及其應用 107
習題 113
上機實習 114
第7章 圖 118
本章學習目標 118
7.1 圖的基本概念 118
7.2 圖的存儲表示 120
7.2.1 鄰接矩陣 120
7.2.2 鄰接表 121
7.3 圖的遍歷 123
7.3.1 深度優(yōu)先遍歷(DFS) 123
7.3.2 廣度優(yōu)先遍歷(BFS) 124
7.4 圖的生成樹 125
7.4.1 生成樹 125
7.4.2 最小生成樹的基本概念 126
7.4.3 構(gòu)造最小生成樹的Prim算法 126
7.4.4 構(gòu)造最小生成樹的Kruskal算法 128
7.5 最短路徑 128
7.6 拓撲排序 131
7.6.1 有向無環(huán)圖的概念 131
7.6.2 AOV網(wǎng)與拓撲排序 131
7.7 關(guān)鍵路徑 134
7.7.1 AOE網(wǎng) 134
7.7.2 關(guān)鍵路徑 135
7.7.3 關(guān)鍵路徑的確定 135
7.8 工程應用實例 136
習題 138
上機實習 140
第8章 查找 145
本章學習目標 145
8.1 基本概念與術(shù)語 145
8.2 靜態(tài)查找表 145
8.2.1 靜態(tài)查找表結(jié)構(gòu) 145
8.2.2 順序查找 146
8.2.3 二分查找 147
8.2.4 分塊查找 149
8.3 動態(tài)查找表 150
8.3.1 二叉排序樹 150
8.3.2 二叉排序樹的建立 150
8.3.3 平衡二叉樹 154
8.3.4 B樹 156
8.4 哈希表查找 157
8.4.1 哈希表與哈希方法 157
8.4.2 常用的哈希函數(shù) 158
8.4.3 處理沖突的方法 160
8.4.4 哈希表的查找分析 161
習題 161
上機實習 162
第9章 排序 166
本章學習目標 166
9.1 基本概念 166
9.2 插入排序 167
9.2.1 直接插入排序 167
9.2.2 希爾排序 168
9.3 交換排序 169
9.3.1 冒泡排序 169
9.3.2 快速排序 170
9.4 選擇排序 172
9.4.1 直接選擇排序 172
9.4.2 堆排序(Heap Sort) 174
9.5 歸并排序 176
9.6 基數(shù)排序 178
9.7 內(nèi)部排序的比較 180
9.8 外部排序 180
9.8.1 外部排序 180
9.8.2 多路平衡歸并的實現(xiàn) 182
習題 182
上機實習 183
參考文獻 187
- 數(shù)據(jù)結(jié)構(gòu)(Python語言描述) [曹岳輝 劉衛(wèi)國 康松林 編著]
- 數(shù)據(jù)結(jié)構(gòu)——C語言(微課版) [主編 梁海英]
- 數(shù)據(jù)結(jié)構(gòu)(C語言版)習題解答及實訓指導 [李根強 謝月娥]
- 數(shù)據(jù)結(jié)構(gòu)(C語言版) [主編 李根強 劉浩 謝月娥]
- 數(shù)據(jù)結(jié)構(gòu)(Java版) [主編 李云平]
- 數(shù)據(jù)結(jié)構(gòu) [主編 韓利凱 朱浩悅]
- 數(shù)據(jù)結(jié)構(gòu)(C語言版)(第三版) [主編 庫波 曹靜]
- 數(shù)據(jù)結(jié)構(gòu)(Java版) [孫琳 張宇]
- 數(shù)據(jù)結(jié)構(gòu) [許繪香 段明義]
- 數(shù)據(jù)結(jié)構(gòu)(C語言描述) [李素若 陳萬華 游明坤 編著]
- 數(shù)據(jù)結(jié)構(gòu)習題解答及上機指導 [李素若 琚輝 嚴永松 編著]
- 數(shù)據(jù)結(jié)構(gòu)(C++描述)習題解答及實習指導 [李根強 謝月娥 主編]
- 數(shù)據(jù)結(jié)構(gòu)(C語言版)學習指導與習題解答 [趙堅 姜梅 主編]
- 數(shù)據(jù)結(jié)構(gòu) [陸勤 主編 ]
- 數(shù)據(jù)結(jié)構(gòu)(C++描述) [李根強 主 編]
- 數(shù)據(jù)結(jié)構(gòu)(C++版)--習題解答及實習指導 [李根強 主編]
- 數(shù)據(jù)結(jié)構(gòu)算法--Visual C++ 6.0程序集 [侯識忠 等編著]
- 數(shù)據(jù)結(jié)構(gòu)算法--C++ Builder 6.0程序集 [侯識忠 等編著]
- 數(shù)據(jù)結(jié)構(gòu)(C語言版)學習指導與習題解答 [趙堅 姜梅 主編]
- 數(shù)據(jù)結(jié)構(gòu)(C語言版) [趙堅 姜梅 主編]
- 數(shù)據(jù)結(jié)構(gòu)(C語言描述) [斯慶巴拉 主編]
- 數(shù)據(jù)結(jié)構(gòu)(C++版)(第二版) [李根強]
- 數(shù)據(jù)結(jié)構(gòu)(C++版)(第二版)習題解答及實訓指導 [李根強]
- 數(shù)據(jù)結(jié)構(gòu)——用C語言描述 [蔡明志 編著]
- 數(shù)據(jù)結(jié)構(gòu)(C++版) [李根強 主編]
- 數(shù)據(jù)結(jié)構(gòu)--用C語言描述(第二版) [寧正元 易金聰 編著]
- 數(shù)據(jù)結(jié)構(gòu)(C/C++描述) [阮宏一 主編]
- 數(shù)據(jù)結(jié)構(gòu)--C語言描述(第二版) [王路群 主編]
- 數(shù)據(jù)結(jié)構(gòu)、算法與應用(Java語言描述) [[美]Sartaj Sahni(薩爾塔杰.薩]
- 數(shù)據(jù)結(jié)構(gòu)實驗程序 [智東杰 主 編]
- 信號與系統(tǒng)
- AutoCAD 2012實用教程
- 旅游信息化簡明教程
- 數(shù)據(jù)庫系統(tǒng)原理及應用——PowerBuilder
- 數(shù)據(jù)結(jié)構(gòu)(C++描述)習題解答及實習指
- Visual Basic程序設(shè)計
- 單片機應用系統(tǒng)設(shè)計與訓練
- 多媒體技術(shù)與應用(第二版)
- 網(wǎng)站建設(shè)原理與實踐
- Internet與網(wǎng)頁設(shè)計
- 網(wǎng)絡(luò)綜合布線技術(shù)
- 計算機網(wǎng)絡(luò)系統(tǒng)集成
- 計算機及網(wǎng)絡(luò)維護技術(shù)
- Visual Basic.NET程序設(shè)計
- C++程序設(shè)計實驗指導與實訓
- 計算機網(wǎng)絡(luò)操作系統(tǒng)——Windows 2000 S