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

-
【作 者】馬秋菊 主編
【I S B N 】978-7-5084-3839-6
【責(zé)任編輯】張玉玲
【適用讀者群】高職高專
【出版時間】2006-09-01
【開 本】16開本
【裝幀信息】平裝(光膜)
【版 次】第1版
【頁 數(shù)】204
【千字?jǐn)?shù)】
【印 張】
【定 價】¥20
【叢 書】21世紀(jì)高職高專新概念教材
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書所選內(nèi)容都是高職高專計算機(jī)及相關(guān)專業(yè)必須掌握的知識點,全書共9章,主要內(nèi)容包括:線性表、棧和隊列、數(shù)組、特殊矩陣和廣義表、串、樹、圖、查找和排序等。各章中對所涉及的數(shù)據(jù)結(jié)構(gòu)與算法均給出了通俗的解釋和類C語言描述,其中的重點內(nèi)容是以C語言函數(shù)或過程形式給出的,同時在每章后面的上機(jī)實習(xí)中給出了具體應(yīng)用調(diào)用(已經(jīng)運行通過),其目的是使讀者能夠?qū)W(xué)到的知識落實到應(yīng)用中。
本書內(nèi)容精煉、敘述通俗、示例說服力強(qiáng)、便于講解和學(xué)習(xí)、突出實用性和應(yīng)用性。
本書可作為高等職業(yè)學(xué)校、高等專科學(xué)校、成人高等學(xué)校及本科院校舉辦的二級職業(yè)技術(shù)學(xué)院計算機(jī)及相關(guān)專業(yè)數(shù)據(jù)結(jié)構(gòu)的教材,也適合計算機(jī)軟件開發(fā)的科技人員自學(xué)參考。
“數(shù)據(jù)結(jié)構(gòu)”是計算機(jī)程序設(shè)計的重要理論技術(shù)基礎(chǔ),是計算機(jī)專業(yè)的核心課程。在目前大力發(fā)展職業(yè)技術(shù)應(yīng)用教育的新形勢下,急需概念通俗易懂,知識針對性強(qiáng),實驗、實習(xí)及工程訓(xùn)練等內(nèi)容齊全的教科書,本書正是針對這種目的編寫的。本書系統(tǒng)地介紹了各種數(shù)據(jù)結(jié)構(gòu)的概念、存儲結(jié)構(gòu)和有關(guān)算法,并采用了當(dāng)前通用的C語言描述算法。主要內(nèi)容包括緒論、線性表、棧和隊列、數(shù)組、串、樹、圖、查找和排序等。
參加本書編寫的作者全部是有本課程教學(xué)實踐和課程建設(shè)經(jīng)驗的教師,在多年的教學(xué)和課程建設(shè)的實踐中,我們體會到,學(xué)生在學(xué)習(xí)中普遍存在的突出問題是:入門難、算法抽象難理解、算法與實現(xiàn)和應(yīng)用存在一定距離、應(yīng)用針對性差等,制約著學(xué)習(xí)效果。針對實際情況,我們進(jìn)行了充分的討論,在本課程建設(shè)的基礎(chǔ)上,制定了本書的編寫原則:重視基礎(chǔ),循序漸進(jìn),內(nèi)容精煉,敘述通俗,重點突出,示例說服力強(qiáng),便于講解和學(xué)習(xí),強(qiáng)調(diào)理論與實踐相結(jié)合,突出實踐和應(yīng)用能力的培養(yǎng)。
本書的主要特點如下:
(1)教學(xué)內(nèi)容的深度與廣度合適、定位準(zhǔn)確,具有鮮明的高職高專特色。
所選擇的教學(xué)內(nèi)容既體現(xiàn)了應(yīng)用型人才教育對基礎(chǔ)理論知識較扎實的要求即夠用,又兼顧了知識的系統(tǒng)性與完整性、應(yīng)用性和工程實踐性。
(2)融入先進(jìn)教學(xué)理念,概念通俗易懂、知識針對性強(qiáng),符合應(yīng)用型人才認(rèn)知規(guī)律。
體現(xiàn)“以學(xué)生為主體”的現(xiàn)代教學(xué)理念,選擇了具有啟發(fā)性、思考性和鼓勵自主學(xué)習(xí)的教學(xué)內(nèi)容,設(shè)計了引發(fā)學(xué)生學(xué)習(xí)與探究興趣的“驅(qū)動問題”,面向教學(xué)方法和過程,語言通俗,降低難度,針對性強(qiáng),重點突出。
(3)算法描述清晰,有利于教師講解。
在算法思想和算法描述中,盡量避免教學(xué)過程中的混淆,如“關(guān)鍵字”使用key標(biāo)識符,則在同一問題中就不再選擇key作為其他變量,使教學(xué)、理解更簡單。
(4)強(qiáng)調(diào)理論與實踐相結(jié)合,突出實踐和應(yīng)用能力的培養(yǎng)。
在重點知識突出的基礎(chǔ)上,強(qiáng)調(diào)算法的具體實現(xiàn):以C語言函數(shù)或過程形式給出內(nèi)容,同時在每章后面的上機(jī)實習(xí)中給出了具體應(yīng)用調(diào)用(已經(jīng)運行通過),達(dá)到學(xué)以致用的目的,培養(yǎng)學(xué)生具有完整應(yīng)用程序的開發(fā)理念,對應(yīng)用系統(tǒng)開發(fā)有一個明晰的概念。
(5)本書配備了電子教案等相關(guān)教學(xué)資源。
電子教案中的實例是在PowerPoint環(huán)境下嵌入VBA技術(shù)來實現(xiàn)算法與數(shù)據(jù)處理的,使教學(xué)更形象、更容易理解,另外還可提供源代碼、同步訓(xùn)練題等資料。
本書可作為職業(yè)技術(shù)應(yīng)用型計算機(jī)專業(yè)教材,建議講授學(xué)時為60~70學(xué)時。
本書由馬秋菊主編,王學(xué)軍、劉延嶺任副主編。本書主要編寫人員分工如下:第1~5章由馬秋菊編寫,第6章由殷華英編寫,第7~9章由王學(xué)軍編寫;上機(jī)實習(xí)內(nèi)容的第2、4~7章由劉延嶺編寫,第8、9章由張清濤編寫,第3章由劉延嶺與張清濤共同編寫,全書由馬秋菊和劉延嶺統(tǒng)稿。另外參加大綱討論、提供實用信息的人員還有:孔小利、宋漢珍、李海明、郝春雷、董國增、謝懿、張占昭、李小芳、薛茹等老師。在編寫過程中,得到了主審馬曉晨副教授和相關(guān)專家的指導(dǎo),在此一并表示衷心的感謝。
由于編者水平有限,書中難免有一些不足之處,懇請廣大讀者批評指正。
前言
第1章 數(shù)據(jù)結(jié)構(gòu)概述 1
本章學(xué)習(xí)目標(biāo) 1
1.1 為什么要學(xué)習(xí)數(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
習(xí)題 9
第2章 線性表 12
本章學(xué)習(xí)目標(biāo) 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 線性表的鏈?zhǔn)酱鎯瓦\算實現(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 線性表的典型應(yīng)用 29
習(xí)題 32
上機(jī)實習(xí) 33
第3章 棧和隊列 39
3.1 棧 39
3.1.1 棧的定義及基本運算 39
3.1.2 棧的順序存儲結(jié)構(gòu)及運算實現(xiàn) 40
3.1.3 棧的鏈?zhǔn)酱鎯Y(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 隊列的鏈?zhǔn)酱鎯Y(jié)構(gòu)及運算實現(xiàn) 46
3.3 棧和隊列的典型應(yīng)用 48
習(xí)題 56
上機(jī)實習(xí) 57
第4章 數(shù)組、特殊矩陣和廣義表 64
本章學(xué)習(xí)目標(biāo) 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
習(xí)題 76
上機(jī)實習(xí) 77
第5章 串 80
本章學(xué)習(xí)目標(biāo) 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 串的鏈?zhǔn)酱鎯?#160;82
5.3 串運算的應(yīng)用 83
習(xí)題 85
上機(jī)實習(xí) 86
第6章 樹 89
本章學(xué)習(xí)目標(biāo) 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 鏈?zhǔn)酱鎯Y(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 哈夫曼樹及其應(yīng)用 107
習(xí)題 113
上機(jī)實習(xí) 114
第7章 圖 118
本章學(xué)習(xí)目標(biāo) 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 拓?fù)渑判?#160;131
7.6.1 有向無環(huán)圖的概念 131
7.6.2 AOV網(wǎng)與拓?fù)渑判?#160;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 工程應(yīng)用實例 136
習(xí)題 138
上機(jī)實習(xí) 140
第8章 查找 145
本章學(xué)習(xí)目標(biāo) 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
習(xí)題 161
上機(jī)實習(xí) 162
第9章 排序 166
本章學(xué)習(xí)目標(biāo) 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
習(xí)題 182
上機(jī)實習(xí) 183
參考文獻(xiàn) 187
- 數(shù)據(jù)結(jié)構(gòu)(Python語言描述) [曹岳輝 劉衛(wèi)國 康松林 編著]
- 數(shù)據(jù)結(jié)構(gòu)——C語言(微課版) [主編 梁海英]
- 數(shù)據(jù)結(jié)構(gòu)(C語言版)習(xí)題解答及實訓(xùn)指導(dǎo) [李根強(qiáng) 謝月娥]
- 數(shù)據(jù)結(jié)構(gòu)(C語言版) [主編 李根強(qiáng) 劉浩 謝月娥]
- 數(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)習(xí)題解答及上機(jī)指導(dǎo) [李素若 琚輝 嚴(yán)永松 編著]
- 數(shù)據(jù)結(jié)構(gòu)(C++描述)習(xí)題解答及實習(xí)指導(dǎo) [李根強(qiáng) 謝月娥 主編]
- 數(shù)據(jù)結(jié)構(gòu)(C語言版)學(xué)習(xí)指導(dǎo)與習(xí)題解答 [趙堅 姜梅 主編]
- 數(shù)據(jù)結(jié)構(gòu) [陸勤 主編 ]
- 數(shù)據(jù)結(jié)構(gòu)(C++描述) [李根強(qiáng) 主 編]
- 數(shù)據(jù)結(jié)構(gòu)(C++版)--習(xí)題解答及實習(xí)指導(dǎo) [李根強(qiáng) 主編]
- 數(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語言描述) [斯慶巴拉 主編]
- 數(shù)據(jù)結(jié)構(gòu)(C++版)(第二版) [李根強(qiáng)]
- 數(shù)據(jù)結(jié)構(gòu)(C++版)(第二版)習(xí)題解答及實訓(xùn)指導(dǎo) [李根強(qiáng)]
- 數(shù)據(jù)結(jié)構(gòu)——用C語言描述 [蔡明志 編著]
- 數(shù)據(jù)結(jié)構(gòu)(C++版) [李根強(qiáng) 主編]
- 數(shù)據(jù)結(jié)構(gòu)--用C語言描述(第二版) [寧正元 易金聰 編著]
- 數(shù)據(jù)結(jié)構(gòu)(C/C++描述) [阮宏一 主編]
- 數(shù)據(jù)結(jié)構(gòu)--C語言描述(第二版) [王路群 主編]
- 數(shù)據(jù)結(jié)構(gòu)、算法與應(yīng)用(Java語言描述) [[美]Sartaj Sahni(薩爾塔杰.薩]
- 數(shù)據(jù)結(jié)構(gòu)實驗程序 [智東杰 主 編]
- 信號與系統(tǒng)
- AutoCAD 2012實用教程
- 旅游信息化簡明教程
- 數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用——PowerBuilder
- 數(shù)據(jù)結(jié)構(gòu)(C++描述)習(xí)題解答及實習(xí)指
- Visual Basic程序設(shè)計
- 單片機(jī)應(yīng)用系統(tǒng)設(shè)計與訓(xùn)練
- 多媒體技術(shù)與應(yīng)用(第二版)
- 網(wǎng)站建設(shè)原理與實踐
- Internet與網(wǎng)頁設(shè)計
- 網(wǎng)絡(luò)綜合布線技術(shù)
- 計算機(jī)網(wǎng)絡(luò)系統(tǒng)集成
- 計算機(jī)及網(wǎng)絡(luò)維護(hù)技術(shù)
- Visual Basic.NET程序設(shè)計
- C++程序設(shè)計實驗指導(dǎo)與實訓(xùn)
- 計算機(jī)網(wǎng)絡(luò)操作系統(tǒng)——Windows 2000 S