數(shù)據(jù)結(jié)構(gòu)(Java版)

-
【作 者】主編 李云平
【I S B N 】978-7-5170-4933-3
【責(zé)任編輯】李炎
【適用讀者群】本專通用
【出版時(shí)間】2017-01-01
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數(shù)】308
【千字?jǐn)?shù)】426
【印 張】19.25
【定 價(jià)】¥39
【叢 書】高等職業(yè)教育精品示范教材(電子信息課程群)
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書涵蓋了各種數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)知識(shí)及其算法設(shè)計(jì)和Java代碼實(shí)現(xiàn),并輔之以大量的理論習(xí)題和實(shí)訓(xùn)任務(wù),以此增進(jìn)讀者對數(shù)據(jù)結(jié)構(gòu)的理解與掌握。全書共分為8個(gè)模塊,內(nèi)容包括概述,線性表,棧和隊(duì)列,數(shù)組、串和廣義表,樹和二叉樹,圖,排序,查找。
本書按照“實(shí)例引入-邏輯結(jié)構(gòu)-存儲(chǔ)結(jié)構(gòu)-基本運(yùn)算的實(shí)現(xiàn)-典型應(yīng)用舉例-知識(shí)鞏固”的順序?qū)Ω鞣N數(shù)據(jù)結(jié)構(gòu)進(jìn)行介紹。每章均由實(shí)例引入,并配備一定數(shù)量的應(yīng)用實(shí)例供學(xué)生進(jìn)行上機(jī)練習(xí),有助于理解理論知識(shí)、提高編程能力。
體現(xiàn)以就業(yè)為導(dǎo)向、產(chǎn)學(xué)結(jié)合的發(fā)展道路。學(xué)科和專業(yè)同步加強(qiáng),按企業(yè)需要和崗位需求對接培養(yǎng)內(nèi)容。
采用項(xiàng)目驅(qū)動(dòng)、案例引導(dǎo)的編寫模式。堅(jiān)持“工作流程化”“任務(wù)驅(qū)動(dòng)式”,突出“走向職業(yè)化”的特點(diǎn)。
專家、教師共建團(tuán)隊(duì),優(yōu)化編寫隊(duì)伍。把握行業(yè)發(fā)展和創(chuàng)新教材發(fā)展的方向,融入專業(yè)教學(xué)的課程設(shè)置與教材內(nèi)容。
開發(fā)課程教學(xué)資源,推進(jìn)專業(yè)信息化建設(shè)。開發(fā)網(wǎng)絡(luò)課程、虛擬仿真實(shí)訓(xùn)平臺(tái)等數(shù)字化教學(xué)資源,建立動(dòng)態(tài)、共享的課程信息化資源庫。
“數(shù)據(jù)結(jié)構(gòu)”是計(jì)算機(jī)及相關(guān)專業(yè)的重要專業(yè)基礎(chǔ)課程。通過本門課程的學(xué)習(xí),學(xué)生不僅要掌握基本的理論知識(shí),更重要的是要提高自身的實(shí)踐能力。本書就是以計(jì)算機(jī)軟件相關(guān)工作崗位員工必須掌握的知識(shí)為核心,以高職教育所培養(yǎng)的學(xué)生應(yīng)具備的能力為依據(jù),以突出實(shí)踐性和實(shí)用性為目的進(jìn)行設(shè)計(jì)編寫的。
全書共分為8個(gè)模塊,內(nèi)容包括概述,線性表,棧和隊(duì)列,數(shù)組、串和廣義表,樹和二叉樹,圖,排序,查找。并附有配套源代碼、教學(xué)PPT、教學(xué)實(shí)施案例、教學(xué)設(shè)計(jì)大綱、習(xí)題答案等教學(xué)資源。
本書是根據(jù)高職高專教育的特點(diǎn)進(jìn)行組織和編寫的,參加本書編寫的人員均為一線項(xiàng)目研發(fā)人員且又都是多年教授數(shù)據(jù)結(jié)構(gòu)和Java系列課程的教學(xué)一線骨干教師。本書主要特色有:
(1)對各類數(shù)據(jù)結(jié)構(gòu)的分析按照“實(shí)例引入-邏輯結(jié)構(gòu)-存儲(chǔ)結(jié)構(gòu)-基本運(yùn)算的代碼實(shí)現(xiàn)-典型應(yīng)用實(shí)例-知識(shí)鞏固”的順序進(jìn)行講述。
(2)內(nèi)容選取合理,組織得當(dāng)。理論部分以夠用為度,突出實(shí)踐內(nèi)容。每章都由實(shí)例引入,并且配套一定數(shù)量的應(yīng)用實(shí)例(配有完整代碼)進(jìn)行上機(jī)練習(xí),有助于對理論知識(shí)的理解,并提高學(xué)生的Java編程能力。
(3)每章知識(shí)鞏固部分為學(xué)生提供了理論知識(shí)、真題在線、實(shí)訓(xùn)任務(wù)三個(gè)方面的練習(xí)題。“理論知識(shí)”部分的習(xí)題都是精挑細(xì)選的,有加強(qiáng)概念理解的選擇題、判斷題,有幫助理解算法思想的簡答題,也有培養(yǎng)算法設(shè)計(jì)能力的算法設(shè)計(jì)題;“真題在線”部分提供了歷年計(jì)算機(jī)等級考試、程序員考試涉及到的真題;“實(shí)訓(xùn)任務(wù)”部分提供了完整的、可運(yùn)行的程序上機(jī)實(shí)驗(yàn)供讀者參考,以加深讀者對所學(xué)知識(shí)的理解和應(yīng)用。
本書適合作為高職高專計(jì)算機(jī)及相關(guān)專業(yè)的“數(shù)據(jù)結(jié)構(gòu)”課程教材,也可作為計(jì)算機(jī)應(yīng)用系統(tǒng)開發(fā)人員及相關(guān)人員學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)知識(shí)的參考書或培訓(xùn)教材。
本書由李云平任主編,梁平、張揚(yáng)、曹燕任副主編,參加編寫的有許博、紀(jì)全、孫成昊老師,也為本書的校對和資源建設(shè)做了大量細(xì)致的工作,中國水利水電出版社的有關(guān)負(fù)責(zé)同志對本書的出版給予了大力支持。在本書編寫過程中參考了大量國內(nèi)外計(jì)算機(jī)網(wǎng)絡(luò)文獻(xiàn)資料,在此,謹(jǐn)向這些著作者以及為本書出版付出辛勤勞動(dòng)的同志深表感謝。
由于作者水平所限,書中難免有不足與疏漏之處,敬請廣大讀者批評指正。
前言
模塊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 存儲(chǔ)結(jié)構(gòu) 7
1.3.3 運(yùn)算 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 算法的概念及特點(diǎn) 10
1.5.3 算法的設(shè)計(jì)要求 11
1.5.4 算法的性能分析 11
1.6 小結(jié) 14
1.7 知識(shí)鞏固 14
1.7.1 理論知識(shí) 14
1.7.2 實(shí)訓(xùn)任務(wù) 15
模塊2 線性表 16
2.1 實(shí)例引入 17
2.2 線性表的邏輯結(jié)構(gòu) 18
2.2.1 線性表的定義 18
2.2.2 線性表的基本運(yùn)算 19
2.3 線性表的順序存儲(chǔ)結(jié)構(gòu)及運(yùn)算實(shí)現(xiàn) 20
2.3.1 順序表的定義 20
2.3.2 順序表的基本運(yùn)算實(shí)現(xiàn) 21
2.3.3 順序表在Java類庫中的實(shí)現(xiàn) 24
2.4 線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)及運(yùn)算實(shí)現(xiàn) 25
2.4.1 單鏈表 26
2.4.2 雙向鏈表 29
2.4.3 循環(huán)鏈表 32
2.4.4 鏈表在Java類庫中的實(shí)現(xiàn) 33
2.5 應(yīng)用舉例 34
2.5.1 使用順序表實(shí)現(xiàn)教師電話管理系統(tǒng) 34
2.5.2 使用鏈表實(shí)現(xiàn)教師電話管理系統(tǒng) 39
2.6 小結(jié) 45
2.7 知識(shí)鞏固 46
2.7.1 理論知識(shí) 46
2.7.2 真題在線 48
2.7.3 實(shí)訓(xùn)任務(wù) 50
模塊3 棧和隊(duì)列 51
3.1 實(shí)例引入 52
3.2 棧 52
3.2.1 棧的概念及基本運(yùn)算 52
3.2.2 棧的順序存儲(chǔ)結(jié)構(gòu)及其算法實(shí)現(xiàn) 53
3.2.3 棧的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)及其算法實(shí)現(xiàn) 56
3.2.4 棧在Java類庫中的實(shí)現(xiàn) 58
3.3 隊(duì)列 58
3.3.1 隊(duì)列的概念及基本運(yùn)算 58
3.3.2 隊(duì)列的順序存儲(chǔ)結(jié)構(gòu)及其算法實(shí)現(xiàn) 59
3.3.3 隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)及其算法實(shí)現(xiàn) 63
3.3.4 隊(duì)列在Java類庫中的實(shí)現(xiàn) 64
3.4 應(yīng)用舉例 65
3.4.1 棧的應(yīng)用舉例 65
3.4.2 隊(duì)列的應(yīng)用舉例 69
3.5 小結(jié) 71
3.6 知識(shí)鞏固 72
3.6.1 理論知識(shí) 72
3.6.2 真題在線 74
3.6.3 實(shí)訓(xùn)任務(wù) 78
模塊4 數(shù)組、串和廣義表 79
4.1 實(shí)例引入 79
4.2 數(shù)組 80
4.2.1 數(shù)組的邏輯結(jié)構(gòu) 80
4.2.2 數(shù)組的順序存儲(chǔ)結(jié)構(gòu) 82
4.2.3 特殊矩陣的壓縮存儲(chǔ) 83
4.3 串 89
4.3.1 串的基本概念 89
4.3.2 串的基本運(yùn)算 90
4.3.3 串的存儲(chǔ)結(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 知識(shí)鞏固 98
4.7.1 理論知識(shí) 98
4.7.2 真題在線 100
4.7.3 實(shí)訓(xùn)任務(wù) 101
模塊5 樹和二叉樹 102
5.1 實(shí)例引入 102
5.2 樹 103
5.2.1 樹的邏輯結(jié)構(gòu) 103
5.2.2 樹在Java類庫中的實(shí)現(xiàn) 105
5.3 二叉樹 106
5.3.1 二叉樹的邏輯結(jié)構(gòu) 106
5.3.2 二叉樹的性質(zhì) 108
5.3.3 二叉樹的存儲(chǔ)結(jié)構(gòu)及運(yùn)算實(shí)現(xiàn) 110
5.3.4 二叉樹的遍歷 115
5.4 樹、森林和二叉樹的關(guān)系 120
5.4.1 樹的存儲(chǔ)結(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 二叉樹遍歷實(shí)現(xiàn) 138
5.7 小結(jié) 141
5.8 知識(shí)鞏固 141
5.8.1 理論知識(shí) 141
5.8.2 真題在線 144
5.8.3 實(shí)訓(xùn)任務(wù) 145
模塊6 圖 146
6.1 實(shí)例引入 146
6.2 圖的邏輯結(jié)構(gòu) 148
6.2.1 圖的定義 148
6.2.2 圖的基本概念 148
6.3 圖的存儲(chǔ)結(jié)構(gòu)及算法實(shí)現(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 拓?fù)渑判?180
6.6 應(yīng)用舉例 182
6.6.1 教學(xué)計(jì)劃安排 183
6.6.2 旅游購票方案 187
6.7 小結(jié) 190
6.8 知識(shí)鞏固 191
6.8.1 理論知識(shí) 191
6.8.2 真題在線 194
6.8.3 實(shí)訓(xùn)任務(wù) 196
模塊7 排序 197
7.1 實(shí)例引入 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 知識(shí)鞏固 222
7.9.1 理論知識(shí) 222
7.9.2 真題在線 226
7.9.3 實(shí)訓(xùn)任務(wù) 228
模塊8 查找 229
8.1 實(shí)例引入 229
8.2 查找基本概念 230
8.3 靜態(tài)查找表 231
8.3.1 順序查找 231
8.3.2 折半查找 233
8.3.3 分塊查找 235
8.4 動(dòng)態(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)計(jì)功能 250
8.7 小結(jié) 251
8.8 知識(shí)鞏固 252
8.8.1 理論知識(shí) 252
8.8.2 真題在線 256
8.8.3 實(shí)訓(xùn)任務(wù) 257
知識(shí)鞏固參考答案 258
- Java面向?qū)ο蟪绦蛟O(shè)計(jì) [主編 姜春磊 陳虹潔]
- C語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與實(shí)訓(xùn)(第二版) [主編 倪燃]
- Python程序設(shè)計(jì)及實(shí)踐教程 [肖朝暉]
- C語言程序設(shè)計(jì) [魏琴 劉祖珉 趙仕波 肖陽春]
- C語言程序設(shè)計(jì)實(shí)驗(yàn)教程 [張小剛 司春景]
- 電氣控制與PLC程序設(shè)計(jì)(第二版) [胡冠山]
- Java Web項(xiàng)目化設(shè)計(jì)實(shí)踐教程 [邱云 曾陳萍]
- C語言程序設(shè)計(jì)(第三版) [主編 丁紅 王立新 蔡開立]
- Python數(shù)據(jù)分析 [主編 馮志輝 趙磊 李放]
- Python程序設(shè)計(jì)與應(yīng)用(第二版) [主編 張廣淵]
- C程序設(shè)計(jì)實(shí)踐教程 [劉衛(wèi)國]
- C程序設(shè)計(jì)(慕課版) [劉衛(wèi)國]
- 程序設(shè)計(jì)基礎(chǔ)實(shí)踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項(xiàng)目精講 [主編 楊國興]
- SwiftUI完全開發(fā) [李智威 著]
- MySQL數(shù)據(jù)庫項(xiàng)目式教程 [陳亞峰]
- C語言程序設(shè)計(jì)習(xí)題與實(shí)驗(yàn)指導(dǎo)(第二版) [主編 甄增榮 張賓]
- C語言程序設(shè)計(jì)(第二版) [主編 甄增榮 田云霞]
- Unity3D虛擬現(xiàn)實(shí)應(yīng)用開發(fā)實(shí)踐 [主 編 劉龍]
- Python程序設(shè)計(jì) [主編 姜春磊 陳虹潔]
- C語言程序設(shè)計(jì)實(shí)踐教程(活頁式) [主編 鄭茵 陳巍 滕泓虬]
- 面向?qū)ο蟪绦蛟O(shè)計(jì) [主編 張勇 張平華 趙小龍]
- 數(shù)據(jù)結(jié)構(gòu)(Python語言描述) [曹岳輝 劉衛(wèi)國 康松林 編著]
- Python程序設(shè)計(jì)基礎(chǔ)及實(shí)戰(zhàn) [主編 劉健]
- C語言程序設(shè)計(jì) [姜雪]
- Python程序設(shè)計(jì)實(shí)踐教程 [王鶴琴 蔡正保]
- C++程序設(shè)計(jì)實(shí)踐教程(第三版) [主編 劉衛(wèi)國 曹岳輝]
- C++程序設(shè)計(jì)(第三版) [主編 曹岳輝 劉衛(wèi)國]
- C語言程序設(shè)計(jì)項(xiàng)目化教程(活頁式) [主編 張利華 潘曉利]
- 機(jī)器人流程自動(dòng)化(RPA)實(shí)戰(zhàn)——基于UiPath [主編 金鑫]
-
>通識(shí)課
>理工類基礎(chǔ)課
>程序設(shè)計(jì)
>大數(shù)據(jù)與人工智能
>計(jì)算機(jī)網(wǎng)絡(luò)與通信
>辦公應(yīng)用
>數(shù)據(jù)庫技術(shù)
>數(shù)字媒體、虛擬現(xiàn)實(shí)
>電工電子
>物聯(lián)網(wǎng)技術(shù)
>單片機(jī)、微機(jī)原理
>數(shù)據(jù)結(jié)構(gòu)、軟件工程
>輔助設(shè)計(jì)
>圖形圖像
>電商物流、信管
>航空工業(yè)
>機(jī)械與自動(dòng)化
>電子信息
>經(jīng)管
>新聞、廣播影視
- 生活經(jīng)管more>>
- 數(shù)據(jù)結(jié)構(gòu)(Java版)
- Java程序設(shè)計(jì)基礎(chǔ)與實(shí)踐
- 移動(dòng)終端UI界面設(shè)計(jì)項(xiàng)目教程
- 電工電子技術(shù)實(shí)訓(xùn)指導(dǎo)書
- VMware虛擬化技術(shù)項(xiàng)目式實(shí)訓(xùn)教程
- 移動(dòng)通信技術(shù)
- Android軟件應(yīng)用與實(shí)踐
- 計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)任務(wù)教程
- SQL Server 2008網(wǎng)絡(luò)數(shù)據(jù)庫管理項(xiàng)目教
- 數(shù)據(jù)結(jié)構(gòu)(C語言版)(第三版)
- 數(shù)據(jù)結(jié)構(gòu)(Java版)
- 網(wǎng)絡(luò)綜合布線
- 計(jì)算機(jī)組裝與維護(hù)
- Java Web項(xiàng)目開發(fā)實(shí)訓(xùn)教程
- C#程序設(shè)計(jì)
- 管理信息系統(tǒng)