數(shù)據(jù)結(jié)構(gòu)(Java版)
-
【作 者】主編 李云平
【I S B N 】978-7-5170-4933-3
【責(zé)任編輯】李炎
【適用讀者群】本專通用
【出版時間】2017-01-01
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數(shù)】308
【千字?jǐn)?shù)】426
【印 張】19.25
【定 價】¥39
【叢 書】高等職業(yè)教育精品示范教材(電子信息課程群)
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書涵蓋了各種數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)知識及其算法設(shè)計和Java代碼實現(xiàn),并輔之以大量的理論習(xí)題和實訓(xùn)任務(wù),以此增進讀者對數(shù)據(jù)結(jié)構(gòu)的理解與掌握。全書共分為8個模塊,內(nèi)容包括概述,線性表,棧和隊列,數(shù)組、串和廣義表,樹和二叉樹,圖,排序,查找。
本書按照“實例引入-邏輯結(jié)構(gòu)-存儲結(jié)構(gòu)-基本運算的實現(xiàn)-典型應(yīng)用舉例-知識鞏固”的順序?qū)Ω鞣N數(shù)據(jù)結(jié)構(gòu)進行介紹。每章均由實例引入,并配備一定數(shù)量的應(yīng)用實例供學(xué)生進行上機練習(xí),有助于理解理論知識、提高編程能力。
體現(xiàn)以就業(yè)為導(dǎo)向、產(chǎn)學(xué)結(jié)合的發(fā)展道路。學(xué)科和專業(yè)同步加強,按企業(yè)需要和崗位需求對接培養(yǎng)內(nèi)容。
采用項目驅(qū)動、案例引導(dǎo)的編寫模式。堅持“工作流程化”“任務(wù)驅(qū)動式”,突出“走向職業(yè)化”的特點。
專家、教師共建團隊,優(yōu)化編寫隊伍。把握行業(yè)發(fā)展和創(chuàng)新教材發(fā)展的方向,融入專業(yè)教學(xué)的課程設(shè)置與教材內(nèi)容。
開發(fā)課程教學(xué)資源,推進專業(yè)信息化建設(shè)。開發(fā)網(wǎng)絡(luò)課程、虛擬仿真實訓(xùn)平臺等數(shù)字化教學(xué)資源,建立動態(tài)、共享的課程信息化資源庫。
“數(shù)據(jù)結(jié)構(gòu)”是計算機及相關(guān)專業(yè)的重要專業(yè)基礎(chǔ)課程。通過本門課程的學(xué)習(xí),學(xué)生不僅要掌握基本的理論知識,更重要的是要提高自身的實踐能力。本書就是以計算機軟件相關(guān)工作崗位員工必須掌握的知識為核心,以高職教育所培養(yǎng)的學(xué)生應(yīng)具備的能力為依據(jù),以突出實踐性和實用性為目的進行設(shè)計編寫的。
全書共分為8個模塊,內(nèi)容包括概述,線性表,棧和隊列,數(shù)組、串和廣義表,樹和二叉樹,圖,排序,查找。并附有配套源代碼、教學(xué)PPT、教學(xué)實施案例、教學(xué)設(shè)計大綱、習(xí)題答案等教學(xué)資源。
本書是根據(jù)高職高專教育的特點進行組織和編寫的,參加本書編寫的人員均為一線項目研發(fā)人員且又都是多年教授數(shù)據(jù)結(jié)構(gòu)和Java系列課程的教學(xué)一線骨干教師。本書主要特色有:
(1)對各類數(shù)據(jù)結(jié)構(gòu)的分析按照“實例引入-邏輯結(jié)構(gòu)-存儲結(jié)構(gòu)-基本運算的代碼實現(xiàn)-典型應(yīng)用實例-知識鞏固”的順序進行講述。
(2)內(nèi)容選取合理,組織得當(dāng)。理論部分以夠用為度,突出實踐內(nèi)容。每章都由實例引入,并且配套一定數(shù)量的應(yīng)用實例(配有完整代碼)進行上機練習(xí),有助于對理論知識的理解,并提高學(xué)生的Java編程能力。
(3)每章知識鞏固部分為學(xué)生提供了理論知識、真題在線、實訓(xùn)任務(wù)三個方面的練習(xí)題。“理論知識”部分的習(xí)題都是精挑細選的,有加強概念理解的選擇題、判斷題,有幫助理解算法思想的簡答題,也有培養(yǎng)算法設(shè)計能力的算法設(shè)計題;“真題在線”部分提供了歷年計算機等級考試、程序員考試涉及到的真題;“實訓(xùn)任務(wù)”部分提供了完整的、可運行的程序上機實驗供讀者參考,以加深讀者對所學(xué)知識的理解和應(yīng)用。
本書適合作為高職高專計算機及相關(guān)專業(yè)的“數(shù)據(jù)結(jié)構(gòu)”課程教材,也可作為計算機應(yīng)用系統(tǒng)開發(fā)人員及相關(guān)人員學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)知識的參考書或培訓(xùn)教材。
本書由李云平任主編,梁平、張揚、曹燕任副主編,參加編寫的有許博、紀(jì)全、孫成昊老師,也為本書的校對和資源建設(shè)做了大量細致的工作,中國水利水電出版社的有關(guān)負責(zé)同志對本書的出版給予了大力支持。在本書編寫過程中參考了大量國內(nèi)外計算機網(wǎng)絡(luò)文獻資料,在此,謹(jǐn)向這些著作者以及為本書出版付出辛勤勞動的同志深表感謝。
由于作者水平所限,書中難免有不足與疏漏之處,敬請廣大讀者批評指正。
前言
模塊1 概述 1
1.1 什么是數(shù)據(jù)結(jié)構(gòu) 2
1.1.1 數(shù)據(jù)結(jié)構(gòu)的起源及發(fā)展?fàn)顩r 2
1.1.2 數(shù)據(jù)結(jié)構(gòu)的3種基本結(jié)構(gòu) 2
1.2 數(shù)據(jù)結(jié)構(gòu)的相關(guān)概念和術(shù)語 5
1.3 數(shù)據(jù)結(jié)構(gòu)的研究內(nèi)容 6
1.3.1 邏輯結(jié)構(gòu) 6
1.3.2 存儲結(jié)構(gòu) 7
1.3.3 運算 8
1.3.4 數(shù)據(jù)結(jié)構(gòu)三方面的關(guān)系 8
1.4 數(shù)據(jù)類型與抽象數(shù)據(jù)類型 9
1.4.1 數(shù)據(jù)類型 9
1.4.2 抽象數(shù)據(jù)類型 9
1.5 算法及其性能分析 9
1.5.1 數(shù)據(jù)結(jié)構(gòu)與算法的關(guān)系 10
1.5.2 算法的概念及特點 10
1.5.3 算法的設(shè)計要求 11
1.5.4 算法的性能分析 11
1.6 小結(jié) 14
1.7 知識鞏固 14
1.7.1 理論知識 14
1.7.2 實訓(xùn)任務(wù) 15
模塊2 線性表 16
2.1 實例引入 17
2.2 線性表的邏輯結(jié)構(gòu) 18
2.2.1 線性表的定義 18
2.2.2 線性表的基本運算 19
2.3 線性表的順序存儲結(jié)構(gòu)及運算實現(xiàn) 20
2.3.1 順序表的定義 20
2.3.2 順序表的基本運算實現(xiàn) 21
2.3.3 順序表在Java類庫中的實現(xiàn) 24
2.4 線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)及運算實現(xiàn) 25
2.4.1 單鏈表 26
2.4.2 雙向鏈表 29
2.4.3 循環(huán)鏈表 32
2.4.4 鏈表在Java類庫中的實現(xiàn) 33
2.5 應(yīng)用舉例 34
2.5.1 使用順序表實現(xiàn)教師電話管理系統(tǒng) 34
2.5.2 使用鏈表實現(xiàn)教師電話管理系統(tǒng) 39
2.6 小結(jié) 45
2.7 知識鞏固 46
2.7.1 理論知識 46
2.7.2 真題在線 48
2.7.3 實訓(xùn)任務(wù) 50
模塊3 棧和隊列 51
3.1 實例引入 52
3.2 棧 52
3.2.1 棧的概念及基本運算 52
3.2.2 棧的順序存儲結(jié)構(gòu)及其算法實現(xiàn) 53
3.2.3 棧的鏈?zhǔn)酱鎯Y(jié)構(gòu)及其算法實現(xiàn) 56
3.2.4 棧在Java類庫中的實現(xiàn) 58
3.3 隊列 58
3.3.1 隊列的概念及基本運算 58
3.3.2 隊列的順序存儲結(jié)構(gòu)及其算法實現(xiàn) 59
3.3.3 隊列的鏈?zhǔn)酱鎯Y(jié)構(gòu)及其算法實現(xiàn) 63
3.3.4 隊列在Java類庫中的實現(xiàn) 64
3.4 應(yīng)用舉例 65
3.4.1 棧的應(yīng)用舉例 65
3.4.2 隊列的應(yīng)用舉例 69
3.5 小結(jié) 71
3.6 知識鞏固 72
3.6.1 理論知識 72
3.6.2 真題在線 74
3.6.3 實訓(xùn)任務(wù) 78
模塊4 數(shù)組、串和廣義表 79
4.1 實例引入 79
4.2 數(shù)組 80
4.2.1 數(shù)組的邏輯結(jié)構(gòu) 80
4.2.2 數(shù)組的順序存儲結(jié)構(gòu) 82
4.2.3 特殊矩陣的壓縮存儲 83
4.3 串 89
4.3.1 串的基本概念 89
4.3.2 串的基本運算 90
4.3.3 串的存儲結(jié)構(gòu) 93
4.4 廣義表 94
4.5 應(yīng)用舉例 96
4.5.1 求班級成績的平均分和最高分 96
4.5.2 矩陣相乘 97
4.6 小結(jié) 98
4.7 知識鞏固 98
4.7.1 理論知識 98
4.7.2 真題在線 100
4.7.3 實訓(xùn)任務(wù) 101
模塊5 樹和二叉樹 102
5.1 實例引入 102
5.2 樹 103
5.2.1 樹的邏輯結(jié)構(gòu) 103
5.2.2 樹在Java類庫中的實現(xiàn) 105
5.3 二叉樹 106
5.3.1 二叉樹的邏輯結(jié)構(gòu) 106
5.3.2 二叉樹的性質(zhì) 108
5.3.3 二叉樹的存儲結(jié)構(gòu)及運算實現(xiàn) 110
5.3.4 二叉樹的遍歷 115
5.4 樹、森林和二叉樹的關(guān)系 120
5.4.1 樹的存儲結(jié)構(gòu) 120
5.4.2 樹、森林與二叉樹的相互轉(zhuǎn)換 123
5.4.3 樹與森林的遍歷 127
5.5 哈夫曼樹及其應(yīng)用 127
5.5.1 哈夫曼樹的定義 128
5.5.2 哈夫曼樹的構(gòu)造 129
5.5.3 哈夫曼編碼 130
5.6 應(yīng)用舉例 133
5.6.1 電文的編碼和譯碼 134
5.6.2 二叉樹遍歷實現(xiàn) 138
5.7 小結(jié) 141
5.8 知識鞏固 141
5.8.1 理論知識 141
5.8.2 真題在線 144
5.8.3 實訓(xùn)任務(wù) 145
模塊6 圖 146
6.1 實例引入 146
6.2 圖的邏輯結(jié)構(gòu) 148
6.2.1 圖的定義 148
6.2.2 圖的基本概念 148
6.3 圖的存儲結(jié)構(gòu)及算法實現(xiàn) 153
6.3.1 鄰接矩陣 153
6.3.2 鄰接表 155
6.4 圖的遍歷 157
6.4.1 深度優(yōu)先搜索遍歷 158
6.4.2 廣度優(yōu)先搜索遍歷 164
6.5 圖的應(yīng)用 170
6.5.1 最小生成樹 170
6.5.2 最短路徑 177
6.5.3 拓撲排序 180
6.6 應(yīng)用舉例 182
6.6.1 教學(xué)計劃安排 183
6.6.2 旅游購票方案 187
6.7 小結(jié) 190
6.8 知識鞏固 191
6.8.1 理論知識 191
6.8.2 真題在線 194
6.8.3 實訓(xùn)任務(wù) 196
模塊7 排序 197
7.1 實例引入 197
7.2 排序基本概念 198
7.3 插入排序 199
7.3.1 直接插入排序 199
7.3.2 希爾排序 201
7.4 交換排序 203
7.4.1 冒泡排序 203
7.4.2 快速排序 205
7.5 選擇排序 208
7.5.1 直接選擇排序 209
7.5.2 堆排序 210
7.6 其他排序 213
7.6.1 歸并排序 214
7.6.2 基數(shù)排序 215
7.7 應(yīng)用舉例 218
7.7.1 學(xué)生成績查詢結(jié)果排序 218
7.7.2 設(shè)置高端監(jiān)視哨 219
7.8 小結(jié) 221
7.9 知識鞏固 222
7.9.1 理論知識 222
7.9.2 真題在線 226
7.9.3 實訓(xùn)任務(wù) 228
模塊8 查找 229
8.1 實例引入 229
8.2 查找基本概念 230
8.3 靜態(tài)查找表 231
8.3.1 順序查找 231
8.3.2 折半查找 233
8.3.3 分塊查找 235
8.4 動態(tài)查找表 236
8.4.1 二叉排序樹 237
8.4.2 平衡二叉樹 241
8.5 哈希表 243
8.5.1 哈希表的基本概念 243
8.5.2 哈希函數(shù)的構(gòu)造方法 244
8.5.3 處理哈希沖突的方法 247
8.6 應(yīng)用舉例 249
8.6.1 字符串的折半查找 249
8.6.2 學(xué)生成績分段查找統(tǒng)計功能 250
8.7 小結(jié) 251
8.8 知識鞏固 252
8.8.1 理論知識 252
8.8.2 真題在線 256
8.8.3 實訓(xùn)任務(wù) 257
知識鞏固參考答案 258
- C程序設(shè)計實踐教程 [劉衛(wèi)國]
- C程序設(shè)計(慕課版) [劉衛(wèi)國]
- 程序設(shè)計基礎(chǔ)實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- SwiftUI完全開發(fā) [李智威 著]
- MySQL數(shù)據(jù)庫項目式教程 [陳亞峰]
- C語言程序設(shè)計習(xí)題與實驗指導(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è)計教程 [郭其標(biāo) 房宜汕]
- Python程序設(shè)計 [李國燕 王新強 劉佳 等編著]
- Python程序設(shè)計項目化教程(活頁式) [主編 盧鳳偉]
- Java編程基礎(chǔ)案例式教程 [主編 陳艷華 唐春蘭]
- Python語言同步案例習(xí)題精解 [主編 肖朝暉]
- Unity應(yīng)用開發(fā)與實戰(zhàn)(微課版) [主 編 程永恒]
- PHP程序設(shè)計項目化教程 [主 編 杜海穎]
- 數(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)