數(shù)據(jù)結(jié)構(gòu)(C語言版)(第三版)

-
【作 者】主編 庫波 曹靜
【I S B N 】978-7-5170-3772-9
【責任編輯】陳潔
【適用讀者群】高職高專
【出版時間】2015-11-01
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數(shù)】248
【千字數(shù)】339
【印 張】15.5
【定 價】¥32
【叢 書】高等職業(yè)教育精品示范教材(電子信息課程群)
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書介紹了數(shù)據(jù)結(jié)構(gòu)的基本概念和基本算法。全書共分為9章,主要內(nèi)容包括:緒論、線性表、棧和隊列、串、遞歸、樹、圖、查找、排序等。各章中所涉及的數(shù)據(jù)結(jié)構(gòu)與算法均給予了C語言描述(所有程序都運行通過),以便于讀者鞏固和提高運用C語言進行程序設(shè)計的能力與技巧。
本書在內(nèi)容的選取、概念的引入、文字的敘述以及例題和習題的選擇等方面,都力求遵循面向應(yīng)用、結(jié)構(gòu)合理、由淺入深、循序漸進、便于自學(xué)的原則,突出其實用性與應(yīng)用性。
本書為高職高專計算機專業(yè)教材,也適合作為各校非計算機專業(yè)輔修計算機專業(yè)課程的教材,還可以供一切從事計算機軟件開發(fā)的科技人員自學(xué)參考。
•由淺入深,深入淺出
本教材在基本概念、基本理論闡述方面注重科學(xué)嚴謹。同時對新概念的引入均以應(yīng)用實例開始,對各種基本算法描述盡量詳細,敘述清晰。
•循序漸進,通俗易懂
內(nèi)容簡明,圖文并茂;案例講解通俗易懂;步驟詳盡,方便操作;知識點明確,方便查閱。
•資源開放,網(wǎng)站支撐
門戶網(wǎng)站提供教學(xué)內(nèi)容、教學(xué)設(shè)計、教學(xué)資源、實踐教學(xué)、案例庫、在線考試等功能,方便師生利用網(wǎng)絡(luò)環(huán)境進行學(xué)習與交流。
隨著信息技術(shù)的發(fā)展和普及,作為高等教育的一種類型,高職高專教育更強調(diào)工程化和職業(yè)化教育——學(xué)生不僅應(yīng)具有基本的專業(yè)理論知識,更重要的是應(yīng)具有過硬的專業(yè)技能和工程能力。目前學(xué)生對數(shù)據(jù)結(jié)構(gòu)知識的掌握和應(yīng)用能力與企業(yè)用人的需求還存在很大差異,傳統(tǒng)的教學(xué)模式和教學(xué)內(nèi)容無法滿足學(xué)生職業(yè)發(fā)展的需要。因此,有必要加強在校大學(xué)生對計算機編程能力的訓(xùn)練,最終達到提高學(xué)生職業(yè)素質(zhì)的目的。
鑒于此,編者聯(lián)合組織十余所院校的多位計算機教育一線專家及企業(yè)行業(yè)一線工程人員,共同編寫了這本《數(shù)據(jù)結(jié)構(gòu)》(C語言版)(第三版)。
本書主要培養(yǎng)學(xué)生分析數(shù)據(jù)、組織數(shù)據(jù)的能力,告訴學(xué)生如何編寫效率高、結(jié)構(gòu)好的程序。本書在內(nèi)容的選取、概念的引入、文字的敘述以及例題和習題的選擇等方面,都力求遵循面向應(yīng)用、結(jié)構(gòu)合理、由淺入深、循序漸進、便于自學(xué)的原則,突出其實用性與應(yīng)用性。
一、教材特色
由淺入深,深入淺出
本書在基本概念、基本理論闡述方面注重科學(xué)嚴謹,同時對新概念的引入均以應(yīng)用實例開始,對各種基本算法描述盡量詳細,敘述清晰。
循序漸進,通俗易懂
內(nèi)容簡明,圖文并茂;案例講解通俗易懂;步驟詳盡,方便操作;知識點明確,方便查閱。
資源開放,網(wǎng)站支撐
門戶網(wǎng)站提供教學(xué)內(nèi)容、教學(xué)設(shè)計、教學(xué)資源、實踐教學(xué)、案例庫、在線考試等功能,方便師生利用網(wǎng)絡(luò)環(huán)境進行學(xué)習與交流。
二、內(nèi)容介紹與教學(xué)建議
全書共分9章。第1章主要講述數(shù)據(jù)結(jié)構(gòu)和算法的基本概念。第2~7章分別講述線性表、棧和隊列、串、遞歸、樹和圖這幾種基本數(shù)據(jù)結(jié)構(gòu)的特點、存儲方法和基本運算,書中安排了相當多的篇幅來介紹這些基本數(shù)據(jù)結(jié)構(gòu)的實際應(yīng)用。第8章和第9章講述查找和排序的基本原理與方法。各章中所涉及的數(shù)據(jù)結(jié)構(gòu)與算法,均給予了C語言描述,以便于讀者鞏固和提高運用C語言進行程序設(shè)計的能力與技巧。
本書的內(nèi)容結(jié)構(gòu)如下:
第1章:主要介紹數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識;
第2章:主要介紹線性表;
第3章:主要介紹棧和隊列;
第4章:主要介紹串及其基本操作;
第5章:主要介紹遞歸;
第6章:主要介紹樹及二叉樹的基本操作;
第7章:主要介紹圖的基本操作;
第8章:主要通過案例的實現(xiàn)介紹查找方法基本操作;
第9章:主要通過案例的實現(xiàn)介紹排序方法及基本操作。
本書建議以理論課與實踐課相結(jié)合的方式進行講授,培養(yǎng)學(xué)生的實際動手能力。各院?梢愿鶕(jù)自己的實際情況適當調(diào)整教學(xué)內(nèi)容。
三、案例說明
單一案例
包括驗證哥德巴赫猜想、順序表與鏈表的應(yīng)用、棧與隊列的應(yīng)用、迷宮問題、哈夫曼編碼應(yīng)用等。
綜合案例
包括成績管理系統(tǒng)、學(xué)生成績修改系統(tǒng)、排序系統(tǒng)等。
四、讀者對象
高職高專計算機相關(guān)專業(yè)的學(xué)生;
應(yīng)用型本科院校計算機相關(guān)專業(yè)的學(xué)生;
計算機相關(guān)專業(yè)培訓(xùn)機構(gòu)的學(xué)生;
廣大計算機愛好者。
本書編寫團隊集中了武漢軟件工程職業(yè)學(xué)院計算機學(xué)院和企業(yè)行業(yè)的優(yōu)勢力量,編者都是具有多年一線教學(xué)實踐經(jīng)驗和工程經(jīng)歷的資深專家。本書由工業(yè)和信息化職業(yè)教育教學(xué)指導(dǎo)委員會委員王路群教授主持并通覽全稿,庫波對本書的編寫思路與項目設(shè)計進行了總體策劃,參與編寫的還有曹靜、汪曉青、袁曉曦、秦培煜、郭俐、江駿、楊國勛、余恒芳、張克斌、張波。
本書在編寫的過程中得到了湖北省職教信息集團、武漢市服務(wù)外包行業(yè)協(xié)會、武漢佰均成技術(shù)股份有限公司、武漢支點信息技術(shù)有限公司、武漢數(shù)陣信息集成技術(shù)有限公司、武漢光谷科技技術(shù)股份有限公司、武漢厚薄信息技術(shù)有限公司、武漢軟帝信息技術(shù)有限公司、武漢優(yōu)易酷科技有限公司、上海睿亞訊軟件技術(shù)服務(wù)有限公司、武漢軟件工程職業(yè)學(xué)院、武漢商學(xué)院、武漢信息傳播職業(yè)技術(shù)學(xué)院的大力支持,在此表示衷心的感謝!
由于時間倉促,水平有限,書中難免有疏漏之處,敬請廣大讀者不吝指正。
編 者
2015年6月
課程導(dǎo)學(xué)
第1章 緒論 1
1.1 引言 1
1.2 數(shù)據(jù)結(jié)構(gòu)的發(fā)展簡史及其在計算機科學(xué)中
所處的地位 2
1.3 什么是數(shù)據(jù)結(jié)構(gòu) 3
1.4 基本概念和術(shù)語 4
1.5 算法和算法的描述 6
1.5.1 算法 6
1.5.2 算法的描述 6
1.5.3 算法評價 9
1.6 實訓(xùn)項目一 驗證哥德巴赫猜想 11
本章小結(jié) 13
習題一 13
第2章 線性表 14
2.1 線性表的邏輯結(jié)構(gòu) 14
2.2 線性表的順序存儲結(jié)構(gòu) 16
2.2.1 線性表的順序存儲結(jié)構(gòu) 16
2.2.2 線性表在順序存儲結(jié)構(gòu)下的運算 17
2.3 線性表的鏈式存儲結(jié)構(gòu) 20
2.3.1 線性鏈表 21
2.3.2 循環(huán)鏈表 28
2.3.3 雙向鏈表 30
2.4 一元多項式的表示及相加 33
2.5 實訓(xùn)項目二 順序表與鏈表的應(yīng)用 35
本章小結(jié) 37
習題二 37
第3章 棧和隊列 39
3.1 棧 39
3.1.1 棧的定義及其運算 39
3.1.2 棧的順序存儲結(jié)構(gòu) 40
3.1.3 多棧共享鄰接空間 42
3.1.4 棧的鏈式存儲結(jié)構(gòu) 44
3.2 算術(shù)表達式求值 46
3.3 隊列 50
3.3.1 隊列的定義及其運算 51
3.3.2 隊列的順序存儲結(jié)構(gòu) 51
3.3.3 隊列的鏈式存儲結(jié)構(gòu) 56
3.3.4 其他隊列 57
3.4 實訓(xùn)項目三 棧與隊列的應(yīng)用 58
本章小結(jié) 60
習題三 61
第4章 串 63
4.1 串的基本概念 63
4.1.1 串的定義 63
4.1.2 主串和子串 64
4.2 串的存儲結(jié)構(gòu) 64
4.2.1 串值的存儲 64
4.2.2 串名的存儲映像 67
4.3 串的基本運算及其實現(xiàn) 67
4.3.1 串的基本運算 67
4.3.2 串的基本運算及其實現(xiàn) 68
4.4 文本編輯 70
4.5 實訓(xùn)項目四 成績管理系統(tǒng) 72
本章小結(jié) 80
習題四 81
第5章 遞歸 82
5.1 遞歸的定義 82
5.2 階乘問題 84
5.3 背包問題 87
5.4 漢諾塔問題 92
5.5 實訓(xùn)項目五 迷宮問題 101
本章小結(jié) 110
習題五 110
第6章 樹 112
6.1 樹的結(jié)構(gòu)定義與基本操作 112
6.1.1 樹的定義及相關(guān)術(shù)語 112
6.1.2 樹的存儲結(jié)構(gòu) 113
6.1.3 樹的基本操作 114
6.2 二叉樹 115
6.2.1 二叉樹的定義與基本操作 115
6.2.2 二叉樹的性質(zhì) 117
6.2.3 二叉樹的存儲結(jié)構(gòu) 119
6.2.4 樹與二叉樹的相互轉(zhuǎn)換 121
6.3 遍歷二叉樹 122
6.3.1 先序遍歷 123
6.3.2 中序遍歷 123
6.3.3 后序遍歷 124
6.3.4 層次遍歷 125
6.3.5 遍歷算法的應(yīng)用 125
6.4 線索二叉樹 127
6.4.1 中序次序線索化算法 129
6.4.2 在中根線索樹上檢索某結(jié)點的
前驅(qū)算法 130
6.4.3 在中根線索樹上檢索某結(jié)點的
后繼算法 130
6.5 二叉排序樹 131
6.5.1 二叉排序樹的定義 131
6.5.2 二叉排序樹的生成 132
6.5.3 刪除二叉排序樹上的結(jié)點 133
6.6 哈夫曼樹和哈夫曼算法 134
6.6.1 哈夫曼樹的定義 134
6.6.2 構(gòu)造哈夫曼樹—哈夫曼算法 136
6.6.3 哈夫曼樹的應(yīng)用 136
6.7 實訓(xùn)項目六 哈夫曼編碼應(yīng)用 139
本章小結(jié) 142
習題六 143
第7章 圖 144
7.1 基本定義和術(shù)語 144
7.2 圖的存儲結(jié)構(gòu) 148
7.2.1 鄰接矩陣 148
7.2.2 鄰接表 150
7.3 圖的遍歷 153
7.3.1 深度優(yōu)先遍歷 153
7.3.2 廣度優(yōu)先遍歷 156
7.4 最小生成樹 158
7.5 最短路徑 164
7.5.1 單源點最短路徑 164
7.5.2 所有頂點對之間的最短路徑 167
7.6 拓撲排序 170
7.7 實訓(xùn)項目七 無向圖的遍歷 172
本章小結(jié) 176
習題七 177
第8章 查找 179
8.1 順序查找 179
8.2 折半查找 181
8.3 分塊查找 184
8.4 哈希表 186
8.4.1 哈希表和哈希函數(shù)的概念 186
8.4.2 哈希函數(shù)的構(gòu)造方法 187
8.4.3 沖突處理 190
8.5 實訓(xùn)項目八 學(xué)生成績修改系統(tǒng) 194
本章小結(jié) 200
習題八 201
第9章 排序 202
9.1 插入排序 202
9.1.1 線性插入排序 202
9.1.2 折半插入排序 204
9.2 希爾排序 205
9.3 選擇排序 208
9.4 堆排序 209
9.5 快速排序 215
9.6 歸并排序 217
9.7 基數(shù)排序 220
9.8 外部排序 223
9.9 各種排序方法的比較 225
9.10 實訓(xùn)項目九 排序系統(tǒng) 226
本章小結(jié) 233
習題九 234
參考文獻 235
- C程序設(shè)計實踐教程 [劉衛(wèi)國]
- C程序設(shè)計(慕課版) [劉衛(wèi)國]
- 程序設(shè)計基礎(chǔ)實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- SwiftUI完全開發(fā) [李智威 著]
- MySQL數(shù)據(jù)庫項目式教程 [陳亞峰]
- C語言程序設(shè)計習題與實驗指導(dǎo)(第二版) [主編 甄增榮 張賓]
- C語言程序設(shè)計(第二版) [主編 甄增榮 田云霞]
- Unity3D虛擬現(xiàn)實應(yīng)用開發(fā)實踐 [主 編 劉龍]
- Python程序設(shè)計 [主編 姜春磊 陳虹潔]
- C語言程序設(shè)計實踐教程(活頁式) [主編 鄭茵 陳巍 滕泓虬]
- 面向?qū)ο蟪绦蛟O(shè)計 [主編 張勇 張平華 趙小龍]
- 數(shù)據(jù)結(jié)構(gòu)(Python語言描述) [曹岳輝 劉衛(wèi)國 康松林 編著]
- Python程序設(shè)計基礎(chǔ)及實戰(zhàn) [主編 劉健]
- C語言程序設(shè)計 [姜雪]
- Python程序設(shè)計實踐教程 [王鶴琴 蔡正保]
- C++程序設(shè)計實踐教程(第三版) [主編 劉衛(wèi)國 曹岳輝]
- C++程序設(shè)計(第三版) [主編 曹岳輝 劉衛(wèi)國]
- C語言程序設(shè)計項目化教程(活頁式) [主編 張利華 潘曉利]
- 機器人流程自動化(RPA)實戰(zhàn)——基于UiPath [主編 金鑫]
- Python 語言程序設(shè)計實踐指導(dǎo) [主編 張雙獅]
- Python程序設(shè)計案例教程 [主編 毛錦庚 鐘肖英 周賢來 ]
- 基于.NET Core框架的分布式系統(tǒng)架構(gòu)設(shè)計 [湯佳 著]
- Python語言程序設(shè)計教程 [郭其標 房宜汕]
- C語言同步案例習題精解 [主編 肖朝暉]
- Python程序設(shè)計 [李國燕 王新強 劉佳 等編著]
- Python程序設(shè)計項目化教程(活頁式) [主編 盧鳳偉]
- Java編程基礎(chǔ)案例式教程 [主編 陳艷華 唐春蘭]
- Python語言同步案例習題精解 [主編 肖朝暉]
- Unity應(yīng)用開發(fā)與實戰(zhàn)(微課版) [主 編 程永恒]
- 數(shù)據(jù)結(jié)構(gòu)(Java版)
- Java程序設(shè)計基礎(chǔ)與實踐
- 移動終端UI界面設(shè)計項目教程
- 電工電子技術(shù)實訓(xùn)指導(dǎo)書
- VMware虛擬化技術(shù)項目式實訓(xùn)教程
- 移動通信技術(shù)
- Android軟件應(yīng)用與實踐
- 計算機網(wǎng)絡(luò)基礎(chǔ)任務(wù)教程
- SQL Server 2008網(wǎng)絡(luò)數(shù)據(jù)庫管理項目教
- 數(shù)據(jù)結(jié)構(gòu)(C語言版)(第三版)
- 數(shù)據(jù)結(jié)構(gòu)(Java版)
- 網(wǎng)絡(luò)綜合布線
- 計算機組裝與維護
- Java Web項目開發(fā)實訓(xùn)教程
- C#程序設(shè)計
- 管理信息系統(tǒng)