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

-
【作 者】孫琳 張宇
【I S B N 】978-7-5170-3618-0
【責(zé)任編輯】李炎
【適用讀者群】本專(zhuān)通用
【出版時(shí)間】2015-10-16
【開(kāi) 本】16開(kāi)
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁(yè) 數(shù)】284
【千字?jǐn)?shù)】410
【印 張】17.75
【定 價(jià)】¥38
【叢 書(shū)】高等職業(yè)教育精品示范教材(電子信息課程群)
【備注信息】
簡(jiǎn)介
本書(shū)特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書(shū)
本書(shū)全面系統(tǒng)地介紹了數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)理論和算法設(shè)計(jì)方法,對(duì)常用的數(shù)據(jù)結(jié)構(gòu)做了系統(tǒng)的介紹,并結(jié)合數(shù)據(jù)結(jié)構(gòu)的應(yīng)用以及算法性能評(píng)價(jià)等內(nèi)容,進(jìn)一步使讀者理解數(shù)據(jù)抽象與編程實(shí)現(xiàn)的關(guān)系,提高用計(jì)算機(jī)解決實(shí)際問(wèn)題的能力。主要內(nèi)容包括:數(shù)據(jù)結(jié)構(gòu)的基本概念、算法描述和算法分析初步、線性表、鏈表、棧、隊(duì)列、串、數(shù)組、廣義表、樹(shù)、圖、查找和排序的各種方法。
本書(shū)是用Java語(yǔ)言定義和實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)及算法的,因此本書(shū)中第一章第一節(jié)簡(jiǎn)單介紹了Java編程語(yǔ)言。本書(shū)結(jié)構(gòu)合理,內(nèi)容豐富,算法描述清晰,便于自學(xué),可作為高等院校計(jì)算機(jī)專(zhuān)業(yè)和其他相關(guān)專(zhuān)業(yè)的教材和參考書(shū),也可供從事計(jì)算機(jī)軟件開(kāi)發(fā)的科技工作者參考。
全面系統(tǒng)地介紹了數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)理論和算法設(shè)計(jì)方法,對(duì)常用的數(shù)據(jù)結(jié)構(gòu)做了系統(tǒng)的介紹,并結(jié)合數(shù)據(jù)結(jié)構(gòu)的應(yīng)用以及算法性能評(píng)價(jià)等內(nèi)容,進(jìn)一步使讀者理解數(shù)據(jù)抽象與編程實(shí)現(xiàn)的關(guān)系,提高用計(jì)算機(jī)解決實(shí)際問(wèn)題的能力。
編寫(xiě)過(guò)程中特別考慮到了面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP)的思想與Java語(yǔ)言的特性,在數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)上更好地運(yùn)用了Java語(yǔ)言,并且自始至終強(qiáng)調(diào)以面向?qū)ο蟮姆绞絹?lái)思考、分析和解決問(wèn)題。
本書(shū)注重理論聯(lián)系實(shí)際,注重基本知識(shí)的傳授與基本技能的培養(yǎng)。所有算法均使用Java語(yǔ)言實(shí)現(xiàn),并通過(guò)測(cè)試運(yùn)行。本書(shū)還提供了豐富的教輔材料,內(nèi)容包括PPT、源代碼、課后上機(jī)實(shí)訓(xùn)、習(xí)題解答等,非常適合作為數(shù)據(jù)結(jié)構(gòu)的教學(xué)用書(shū)。
“數(shù)據(jù)結(jié)構(gòu)”是計(jì)算機(jī)專(zhuān)業(yè)的重要基礎(chǔ)課,是該專(zhuān)業(yè)的核心課程之一,它是一門(mén)集技術(shù)性、理論性和實(shí)踐性于一體的課程。Java是現(xiàn)今一種熱門(mén)的語(yǔ)言,本書(shū)在編寫(xiě)過(guò)程中特別考慮到了面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP)的思想與Java語(yǔ)言的特性。本書(shū)在數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)上更好地運(yùn)用了Java語(yǔ)言,并且自始至終強(qiáng)調(diào)以面向?qū)ο蟮姆绞絹?lái)思考、分析和解決問(wèn)題。
本書(shū)在編寫(xiě)過(guò)程中特別考慮到了Java與對(duì)象,Java語(yǔ)言是完全面向?qū)ο蟮摹⒑?jiǎn)單高效、與平臺(tái)無(wú)關(guān)、支持多線程、具有安全性和健壯性等特點(diǎn),為教師和學(xué)生提供了一種精心設(shè)計(jì)并經(jīng)過(guò)教學(xué)檢驗(yàn)的方式,借助Java講授ADT和對(duì)象。本書(shū)教給學(xué)生如何使用線性表、詞典、棧、隊(duì)列等來(lái)組織數(shù)據(jù)。利用這些數(shù)據(jù)組織方式,學(xué)生們將學(xué)到算法設(shè)計(jì)的相關(guān)技術(shù)。
本書(shū)共9章。第1章簡(jiǎn)單介紹Java語(yǔ)言,闡述數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)和算法等基本概念。第2章至第7章分別討論線性表、鏈表、棧、隊(duì)列、串、數(shù)組、廣義表、樹(shù)以及圖的基本數(shù)據(jù)結(jié)構(gòu)及應(yīng)用。本書(shū)第9章排序給出了多種經(jīng)典排序方法,全部是用Java語(yǔ)言描述編寫(xiě),并經(jīng)過(guò)測(cè)試運(yùn)行。
本書(shū)注重理論聯(lián)系實(shí)際,注重基本知識(shí)的傳授與基本技能的培養(yǎng)。本書(shū)還提供了豐富的教輔材料,內(nèi)容包括PPT、源代碼、課后上機(jī)實(shí)訓(xùn)、習(xí)題解答等,非常適合作為數(shù)據(jù)結(jié)構(gòu)的教學(xué)用書(shū)。
本書(shū)由孫琳、張宇擔(dān)任主編,肖奎、胡雙、董寧任副主編,其中第1、2章由胡雙編寫(xiě),第3、4章由肖奎編寫(xiě)、第5、6章由張宇編寫(xiě),第7、8、9章由孫琳和董寧編寫(xiě)。全書(shū)由羅煒主審。李禮、余璐、計(jì)菲、夏杰等幾位老師提供了豐富的案例與實(shí)踐素材,并參與部分章節(jié)的編寫(xiě),在此一并表示感謝!
本書(shū)編寫(xiě)過(guò)程中參考了許多作者的大量文獻(xiàn)資料和國(guó)內(nèi)外優(yōu)秀教材,中國(guó)水利水電出版社對(duì)本書(shū)的出版給與了大力支持和幫助,作者在此一并致以誠(chéng)摯的謝意。
由于編寫(xiě)時(shí)間緊張,編者水平有限,難免存在疏漏,敬請(qǐng)讀者批評(píng)指證。
編 者
2015年6月
前言
第1章 緒論 1
1.1 Java簡(jiǎn)介 1
1.1.1 Java編程語(yǔ)言 1
1.1.2 Java虛擬機(jī) 2
1.2 數(shù)據(jù)結(jié)構(gòu)概述 2
1.2.1 學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的必要性 2
1.2.2 什么是數(shù)據(jù)結(jié)構(gòu) 3
1.2.3 基本概念和術(shù)語(yǔ) 4
1.2.4 數(shù)據(jù)的邏輯結(jié)構(gòu) 5
1.2.5 數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu) 7
1.3 算法的描述和算法分析 8
1.3.1 算法的描述 8
1.3.2 影響算法效率的因素 9
1.3.3 算法效率的評(píng)價(jià) 10
1.3.4 算法的存儲(chǔ)空間需求 12
本章小結(jié) 13
上機(jī)實(shí)訓(xùn) 14
習(xí)題 15
第2章 線性表 17
2.1 線性表的邏輯結(jié)構(gòu) 17
2.2 線性表的順序存儲(chǔ)結(jié)構(gòu) 19
2.2.1 線性表的順序存儲(chǔ)結(jié)構(gòu) 19
2.2.2 線性表在順序存儲(chǔ)結(jié)構(gòu)下的運(yùn)算 20
2.3 線性表的鏈?zhǔn)酱鎯?chǔ) 25
2.3.1 單向鏈表 25
2.3.2 循環(huán)鏈表 33
2.3.3 雙向鏈表 34
2.4 一元多項(xiàng)式的表示及相加 41
本章小結(jié) 47
上機(jī)實(shí)訓(xùn) 47
習(xí)題 48
第3章 棧和隊(duì)列 49
3.1 棧 49
3.1.1 棧的定義及其運(yùn)算 49
3.1.2 棧的順序存儲(chǔ)結(jié)構(gòu) 51
3.1.3 棧的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) 55
3.2 隊(duì)列 60
3.2.1 隊(duì)列的定義及其運(yùn)算 60
3.2.2 隊(duì)列的順序存儲(chǔ)結(jié)構(gòu) 61
3.2.3 隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) 71
本章小結(jié) 76
上機(jī)實(shí)訓(xùn) 76
習(xí)題 77
第4章 串 78
4.1 串的基本概念 78
4.1.1 串的定義 78
4.1.2 主串和子串 79
4.2 串的存儲(chǔ)結(jié)構(gòu) 79
4.3 串的基本運(yùn)算及其實(shí)現(xiàn) 80
4.3.1 字符串的基本運(yùn)算 80
4.3.2 串的基本運(yùn)算實(shí)現(xiàn) 83
4.4 文本編輯 89
本章小結(jié) 90
上機(jī)實(shí)訓(xùn) 91
習(xí)題 91
第5章 多維數(shù)組和廣義表 92
5.1 多維數(shù)組的概念 92
5.2 多維數(shù)組的存儲(chǔ)結(jié)構(gòu) 93
5.2.1 行優(yōu)先順序存儲(chǔ) 94
5.2.2 列優(yōu)先順序存儲(chǔ) 94
5.3 特殊矩陣及其壓縮存儲(chǔ) 95
5.3.1 特殊矩陣 95
5.3.2 壓縮存儲(chǔ) 97
5.4 稀疏矩陣 99
5.4.1 稀疏矩陣的存儲(chǔ) 99
5.4.2 稀疏矩陣的運(yùn)算 117
5.5 廣義表 123
5.5.1 廣義表的定義和性質(zhì) 123
5.5.2 廣義表的存儲(chǔ)結(jié)構(gòu) 124
5.5.3 廣義表的基本運(yùn)算 127
本章小結(jié) 136
上機(jī)實(shí)訓(xùn) 137
習(xí)題 137
第6章 樹(shù) 139
6.1 樹(shù)的結(jié)構(gòu)定義與基本操作 139
6.1.1 樹(shù)的定義 139
6.1.2 樹(shù)的存儲(chǔ)結(jié)構(gòu) 140
6.1.3 樹(shù)的廣義表表示 141
6.2 二叉樹(shù) 141
6.2.1 二叉樹(shù)的定義 141
6.2.2 二叉樹(shù)的性質(zhì) 142
6.2.3 二叉樹(shù)的存儲(chǔ)結(jié)構(gòu) 144
6.2.4 二叉樹(shù)類(lèi)定義 145
6.2.5 樹(shù)與二叉樹(shù)的相互轉(zhuǎn)換 146
6.3 二叉樹(shù)的遍歷 147
6.3.1 先序(根)遍歷 148
6.3.2 中序(根)遍歷 148
6.3.3 后序(根)遍歷 149
6.3.4 層次遍歷 149
6.4 線索二叉樹(shù) 153
6.4.1 線索二叉樹(shù)的定義 154
6.4.2 中序線索二叉樹(shù) 159
6.5 二叉排序樹(shù) 163
6.5.1 二叉排序樹(shù)的定義 163
6.5.2 二叉排序樹(shù)的生成 164
6.5.3 刪除二叉排序樹(shù)上的結(jié)點(diǎn) 165
6.6 哈夫曼樹(shù)和哈夫曼算法 165
6.6.1 哈夫曼樹(shù)的定義 165
6.6.2 構(gòu)造哈夫曼樹(shù)—哈夫曼算法 167
6.6.3 哈夫曼樹(shù)的應(yīng)用 168
本章小結(jié) 170
上機(jī)實(shí)訓(xùn) 171
習(xí)題 171
第7章 圖的基本知識(shí) 172
7.1 圖的基本知識(shí) 172
7.1.1 圖的定義 172
7.1.2 圖的相關(guān)術(shù)語(yǔ) 173
7.1.3 圖的基本操作 177
7.2 圖的存儲(chǔ)結(jié)構(gòu) 177
7.2.1 鄰接矩陣 177
7.2.2 鄰接表 179
7.3 圖的遍歷 180
7.3.1 深度優(yōu)先搜索遍歷 180
7.3.2 廣度優(yōu)先搜索遍歷 182
7.4 最小生成樹(shù) 187
7.5 最短路徑 197
7.5.1 單源點(diǎn)最短路徑 198
7.5.2 所有頂點(diǎn)對(duì)之間的最短路徑 204
7.6 拓?fù)渑判?211
本章小結(jié) 213
上機(jī)實(shí)訓(xùn) 213
習(xí)題 214
第8章 查找 216
8.1 查找的基本概念 216
8.2 靜態(tài)查找表 218
8.2.1 順序查找 218
8.2.2 折半查找 220
8.2.3 分塊查找 225
8.3 動(dòng)態(tài)查找表 226
8.4 哈希表 231
8.4.1 哈希表和哈希函數(shù)的定義 231
8.4.2 哈希函數(shù)的構(gòu)造方法 233
8.4.3 處理沖突的方法 235
本章小結(jié) 240
上機(jī)實(shí)訓(xùn) 240
習(xí)題 240
第9章 排序 242
9.1 排序基本概念 242
9.2 插入排序 244
9.2.1 直接插入排序 244
9.2.2 折半插入排序 247
9.2.3 希爾排序 247
9.3 交換排序 248
冒泡排序 248
9.4 堆排序 250
9.5 快速排序 256
9.6 歸并排序 260
9.7 基數(shù)排序 263
9.8 外部排序 265
9.9 各種排序方法的比較 266
本章小結(jié) 269
上機(jī)實(shí)訓(xùn) 269
習(xí)題 269
參考文獻(xiàn) 271
- 機(jī)械制圖 [許淑珍 于利民]
- 微積分(經(jīng)管類(lèi))導(dǎo)學(xué)篇(下冊(cè)) [王海棠 曹海軍 周玲麗]
- 大學(xué)生創(chuàng)新創(chuàng)業(yè)基礎(chǔ) [主編 姜國(guó)權(quán) 姜福佳]
- 農(nóng)產(chǎn)品云倉(cāng)模式研究—以北京農(nóng)產(chǎn)品流通物流供應(yīng)鏈重構(gòu)為例 [武曉釗 王成林 王春娟 等著]
- 信息技術(shù)(微課版) [王云 徐江鴻 李清霞 羅學(xué)鋒 ]
- 管理基礎(chǔ)與實(shí)務(wù) [主編 王鳳基 顏漢軍]
- 高等數(shù)學(xué)導(dǎo)學(xué)篇(下冊(cè)) [主編 李文婧 胡雷 尹金生]
- 高等數(shù)學(xué)導(dǎo)學(xué)篇(上冊(cè)) [主編 李文婧 胡雷 尹金生]
- 高等數(shù)學(xué)(下冊(cè)) [主編 李?lèi)?ài)芹 胡雷 尹金生]
- 高等數(shù)學(xué)(上冊(cè)) [主編 李?lèi)?ài)芹 胡雷 尹金生]
- 庭院風(fēng)骨—樹(shù)、灌、籬 [創(chuàng)意房主 著]
- Python語(yǔ)言程序設(shè)計(jì)教程 [郭其標(biāo) 房宜汕]
- 微積分(經(jīng)管類(lèi))教程篇(下冊(cè)) [曹海軍 王海棠 周玲麗]
- 微積分(經(jīng)管類(lèi))教程篇(上冊(cè)) [曹海軍 王海棠 周玲麗]
- 微積分(經(jīng)管類(lèi))導(dǎo)學(xué)篇(上冊(cè)) [王海棠 曹海軍 周玲麗]
- 網(wǎng)站前端技術(shù)案例教程(HTML+CSS+JavaScript)(第二版) [黃華升]
- 線性代數(shù) [主編 史昱 陳鳳欣]
- 電力電子技術(shù)課程學(xué)習(xí)及實(shí)驗(yàn)指導(dǎo) [主編 陳榮]
- 成長(zhǎng)對(duì)話(huà):青春的榜樣 [主編 施端銀 黃武剛 應(yīng)巨林]
- 人工智能應(yīng)用基礎(chǔ) [主編 楊纓 李佳]
- 中華水文化(慕課版)(第二版) [畢雪燕 楊華軻 羅玲誼 等編著]
- 電路與電子技術(shù)Ⅱ——電路分析基礎(chǔ) [主編 陳曉 金哲]
- 飛機(jī)維修專(zhuān)業(yè)英語(yǔ)——飛機(jī)系統(tǒng)(第二版) [趙迎春]
- 英語(yǔ)大爆炸:跟趣味情景劇學(xué)口語(yǔ)(微課版) [秦然 編著]
- 機(jī)械工程制圖任務(wù)跟蹤訓(xùn)練 [主編 王瑞清 趙金考 周彥云 ]
- 機(jī)械工程制圖 [主編 覃國(guó)萍 劉百順 禹晨]
- 平面設(shè)計(jì)與制作項(xiàng)目化教程 [主編 李晨]
- 后期影像剪輯技術(shù) [主編 郭建偉]
- 人工智能概論(第二版) [主編 任云暉 丁紅 徐迎春 ]
- 信息時(shí)代美育之道 [主編 劉宏宇 黎婭]

- 教材類(lèi)more>>
- 教輔培訓(xùn)more>>
- 生活經(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)書(shū)
- 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ù)庫(kù)管理項(xiàng)目教
- 數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第三版)
- 數(shù)據(jù)結(jié)構(gòu)(Java版)
- 網(wǎng)絡(luò)綜合布線
- 計(jì)算機(jī)組裝與維護(hù)
- Java Web項(xiàng)目開(kāi)發(fā)實(shí)訓(xùn)教程
- C#程序設(shè)計(jì)
- 管理信息系統(tǒng)