數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)
定 價(jià):79.8 元
- 作者:王新宇
- 出版時(shí)間:2023/1/1
- ISBN:9787121449789
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP301.6
- 頁碼:
- 紙張:
- 版次:
- 開本:
數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)相關(guān)課程是計(jì)算機(jī)專業(yè)教學(xué)中的核心課程,也是各類程序設(shè)計(jì)競賽及互聯(lián)網(wǎng)公司與軟件企業(yè)招聘考查的重要方面。本書按照"數(shù)據(jù)結(jié)構(gòu)—算法設(shè)計(jì)”的路線系統(tǒng)地介紹數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)的主要內(nèi)容。其中,數(shù)據(jù)結(jié)構(gòu)部分包括線性表、棧、隊(duì)列、字符串、數(shù)組、廣義表、樹和圖,以及兩種常用的數(shù)據(jù)操作——查找和排序;算法設(shè)計(jì)部分包括遞歸與分治法、動(dòng)態(tài)規(guī)劃、貪心法、回溯法和分支限界法;最后以"快遞超市信息管理系統(tǒng)”作為案例介紹面向?qū)嶋H應(yīng)用開展分析、設(shè)計(jì)、編碼與測試的完整過程。 本書融入了思政元素,注重培養(yǎng)學(xué)習(xí)者解決問題的思維能力,擁有豐富且形式多樣的習(xí)題,能夠同時(shí)滿足數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)的教學(xué)和學(xué)習(xí)需求。 本書可以作為高等院校計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程、信息安全、智能科學(xué)與技術(shù)、物聯(lián)網(wǎng)工程等計(jì)算機(jī)相關(guān)專業(yè)的本科生教材,也可以作為從事計(jì)算機(jī)應(yīng)用開發(fā)的工程技術(shù)人員的參考用書。
王新宇,江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院,副教授。著作出版及論文發(fā)表情況:論著:(1)計(jì)算機(jī)視覺概論與操作實(shí)踐,2019年12月,江蘇鳳凰科學(xué)技術(shù)出版社;(2)模式識別基礎(chǔ)理論及其計(jì)算機(jī)視覺應(yīng)用,2020年7月,西安電子科技大學(xué)出版社;主要論文:(1)A Zero-Watermarking Scheme for Three-Dimensional Mesh Models Based on Multi-Features, Multimedia Tools and Applications,2019,78卷第19期,SCI;(2)構(gòu)造頂點(diǎn)分布特征的三維模型數(shù)字水印算法,計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 2014,26卷第2期,EI;(3)數(shù)據(jù)結(jié)構(gòu)課程思政教學(xué)設(shè)計(jì)與實(shí)踐,計(jì)算機(jī)教育,2021,第1期。主要教學(xué)經(jīng)歷:C程序設(shè)計(jì),2001年-2008年;C++程序設(shè)計(jì),2006年-2010年;計(jì)算方法;2003年-至今;計(jì)算機(jī)圖形學(xué),2002年-至今;數(shù)據(jù)結(jié)構(gòu),2011年-至今。承擔(dān)的主要教研項(xiàng)目:面向新工科的多維融合、多方協(xié)同的計(jì)算機(jī)專業(yè)人才培養(yǎng)研究與實(shí)踐,江蘇大學(xué)2017年高等教育教改研究課題(2017JGYB015)。承擔(dān)的主要科研項(xiàng)目及獲獎(jiǎng)情況:主要科研項(xiàng)目:(1)基于模型自適應(yīng)修正和協(xié)同決策的說話人魯棒語音情感識別方法研究,國家自然科學(xué)基金(61003183);(2)面向版權(quán)保護(hù)的三維模型魯棒數(shù)字水印算法研究,高等學(xué)校博士學(xué)科點(diǎn)專項(xiàng)科研基金(20113227110021);(3)三維模型魯棒數(shù)字水印算法研究,江蘇省研究生科研創(chuàng)新計(jì)劃項(xiàng)目(CX10B_273Z);科研獲獎(jiǎng):音視頻內(nèi)容分析及其在行為監(jiān)控與展現(xiàn)中的應(yīng)用,江蘇省科學(xué)技術(shù)進(jìn)步三等獎(jiǎng),2018年。
第1章 緒論1
1.1 數(shù)據(jù)結(jié)構(gòu)的研究內(nèi)容1
1.2 數(shù)據(jù)結(jié)構(gòu)的概念4
1.2.1 基本術(shù)語4
1.2.2 數(shù)據(jù)結(jié)構(gòu)的三個(gè)要素5
1.3 算法的定義和評價(jià)7
1.3.1 算法的定義7
1.3.2 算法的評價(jià)7
1.4 算法性能分析8
1.4.1 算法的時(shí)間復(fù)雜度分析8
1.4.2 算法的空間復(fù)雜度分析11
1.5 算法的設(shè)計(jì)與描述11
1.5.1 算法設(shè)計(jì)的一般步驟11
1.5.2 算法設(shè)計(jì)的基本策略12
1.5.3 算法的描述13
1.6 本章小結(jié)14
習(xí)題一15
第2章 線性表18
2.1 線性表的定義及基本操作18
2.2 線性表的順序表示和實(shí)現(xiàn)19
2.2.1 順序表的定義19
2.2.2 順序表的類模板定義20
2.2.3 順序表基本操作的實(shí)現(xiàn)20
2.3 線性表的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)25
2.3.1 單鏈表25
2.3.2 單循環(huán)鏈表32
2.3.3 雙向循環(huán)鏈表33
2.3.4 靜態(tài)鏈表37
2.4 線性表的應(yīng)用41
2.5 本章小結(jié)45
習(xí)題二46
第3章 棧和隊(duì)列49
3.1 棧50
3.1.1 棧的定義50
3.1.2 順序棧51
3.1.3 鏈棧54
3.2 棧的應(yīng)用58
3.3 隊(duì)列65
3.3.1 隊(duì)列的定義66
3.3.2 循環(huán)隊(duì)列66
3.3.3 鏈隊(duì)列72
3.4 隊(duì)列的應(yīng)用76
3.5 本章小結(jié)82
習(xí)題三82
第4章 字符串、數(shù)組和廣義表86
4.1 字符串87
4.1.1 字符串的定義87
4.1.2 C++字符串操作88
4.1.3 模式匹配88
4.2 數(shù)組93
4.2.1 數(shù)組的定義93
4.2.2 數(shù)組的順序存儲(chǔ)結(jié)構(gòu)93
4.3 特殊矩陣的壓縮存儲(chǔ)95
4.3.1 對稱矩陣和三角矩陣95
4.3.2 帶狀矩陣96
4.3.3 稀疏矩陣97
4.4 廣義表101
4.5 本章小結(jié)101
習(xí)題四102
第5章 樹105
5.1 樹的定義與術(shù)語106
5.1.1 樹的定義106
5.1.2 樹的術(shù)語107
5.1.3 樹的表示方法107
5.1.4 樹的基本操作108
5.2 二叉樹108
5.2.1 二叉樹的定義108
5.2.2 二叉樹的性質(zhì)109
5.2.3 二叉樹的基本操作110
5.3 二叉樹的存儲(chǔ)結(jié)構(gòu)111
5.3.1 二叉樹的順序存儲(chǔ)結(jié)構(gòu)111
5.3.2 二叉樹的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)112
5.3.3 二叉樹的二叉鏈表類模板
定義112
5.4 二叉樹的遍歷115
5.4.1 先序遍歷116
5.4.2 中序遍歷116
5.4.3 后序遍歷117
5.4.4 層次遍歷117
5.4.5 基于遍歷的操作118
5.5 線索二叉樹121
5.5.1 線索二叉樹的定義121
5.5.2 中序線索二叉樹類模板定義122
5.6 二叉樹的應(yīng)用126
5.6.1 堆127
5.6.2 哈夫曼樹133
5.7 樹和森林136
5.7.1 樹的存儲(chǔ)結(jié)構(gòu)136
5.7.2 樹、森林和二叉樹的轉(zhuǎn)換138
5.7.3 樹的遍歷141
5.7.4 森林的遍歷141
5.8 本章小結(jié)142
習(xí)題五142
第6章 圖146
6.1 圖的定義與術(shù)語146
6.1.1 圖的定義146
6.1.2 圖的術(shù)語147
6.1.3 圖的基本操作149
6.2 圖的存儲(chǔ)結(jié)構(gòu)149
6.2.1 鄰接矩陣150
6.2.2 鄰接表156
6.2.3 鄰接多重表164
6.2.4 十字鏈表165
6.3 圖的遍歷166
6.3.1 深度優(yōu)先遍歷166
6.3.2 廣度優(yōu)先遍歷168
6.4 圖的應(yīng)用170
6.4.1 最小生成樹170
6.4.2 最短路徑173
6.4.3 活動(dòng)網(wǎng)絡(luò)177
6.5 本章小結(jié)184
習(xí)題六185
第7章 查找189
7.1 查找的基本概念189
7.2 線性表的查找191
7.2.1 順序查找191
7.2.2 折半查找193
7.2.3 索引查找195
7.3 樹表查找198
7.3.1 二叉排序樹198
7.3.2 平衡二叉樹206
7.3.3 B-樹與B+樹213
7.4 散列查找218
7.4.1 散列表的概念218
7.4.2 散列函數(shù)的構(gòu)造方法219
7.4.3 解決沖突的方法222
7.4.4 散列查找及其性能分析224
7.5 本章小結(jié)227
習(xí)題七228
第8章 排序231
8.1 排序的基礎(chǔ)知識232
8.2 交換排序233
8.2.1 冒泡排序233
8.2.2 快速排序235
8.3 插入排序237
8.3.1 直接插入排序237
8.3.2 折半插入排序239
8.3.3 希爾排序240
8.4 選擇排序241
8.4.1 簡單選擇排序242
8.4.2 堆排序243
8.5 歸并排序245
8.5.1 兩路歸并算法245
8.5.2 兩路歸并排序247
8.6 基數(shù)排序248
8.6.1 多關(guān)鍵字排序248
8.6.2 鏈?zhǔn)交鶖?shù)排序249
8.7 排序方法的比較252
8.8 本章小結(jié)253
習(xí)題八253
第9章 遞歸與分治法256
9.1 遞歸程序設(shè)計(jì)256
9.1.1 遞歸的定義256
9.1.2 遞歸的適用條件257
9.1.3 遞歸的程序設(shè)計(jì)259
9.1.4 遞歸的優(yōu)缺點(diǎn)264
9.2 分治法265
9.2.1 分治法的基本思想265
9.2.2 分治法的適用條件266
9.2.3 分治法的設(shè)計(jì)步驟266
9.3 分治法的應(yīng)用實(shí)例267
9.3.1 選擇問題267
9.3.2 排序問題272
9.3.3 大整數(shù)的乘法273
9.3.4 Strassen矩陣乘法276
9.3.5 棋盤覆蓋問題278
9.3.6 循環(huán)賽日程安排281
9.4 本章小結(jié)284
習(xí)題九284
第10章 動(dòng)態(tài)規(guī)劃286
10.1 動(dòng)態(tài)規(guī)劃概述286
10.1.1 動(dòng)態(tài)規(guī)劃的基本思想286
10.1.2 動(dòng)態(tài)規(guī)劃的適用條件287
10.1.3 動(dòng)態(tài)規(guī)劃的設(shè)計(jì)步驟289
10.2 動(dòng)態(tài)規(guī)劃的應(yīng)用實(shí)例291
10.2.1 矩陣連乘問題291
10.2.2 投資問題295
10.2.3 0-1背包問題299
10.2.4 最長公共子序列問題303
10.3 本章小結(jié)308
習(xí)題十308
第11章 貪心法310
11.1 貪心法概述310
11.1.1 貪心法的基本思想310
11.1.2 貪心法的適用條件311
11.1.3 貪心法和動(dòng)態(tài)規(guī)劃的區(qū)別312
11.1.4 貪心法的設(shè)計(jì)算法的步驟312
11.1.5 貪心算法的正確性證明313
11.2 貪心法的應(yīng)用實(shí)例313
11.2.1 活動(dòng)安排問題313
11.2.2 最優(yōu)裝載問題316
11.2.3 背包問題318
11.3 本章小結(jié)321
習(xí)題十一321
第12章 回溯法323
12.1 回溯法概述323
12.1.1 問題的解空間323
12.1.2 回溯法的基本思想325
12.1.3 回溯法的設(shè)計(jì)步驟與算法
框架327
12.1.4 子集樹與排列樹328
12.1.5 回溯法的適用條件330
12.2 回溯法的應(yīng)用實(shí)例331
12.2.1 0-1背包問題331
12.2.2 裝載問題335
12.2.3 n皇后問題339
12.2.4 旅行商問題342
12.3 本章小結(jié)346
習(xí)題十二346
第13章 分支限界法348
13.1 分支限界法概述348
13.1.1 分支限界法的基本思想348
13.1.2 分支限界法的三個(gè)關(guān)鍵
問題349
13.1.3 分支限界法的設(shè)計(jì)步驟350
13.1.4 分支限界法的時(shí)間性能350
13.1.5 分支限界法的適用條件350
13.2 分支限界法的應(yīng)用實(shí)例351
13.2.1 0-1背包問題351
13.2.2 旅行商問題358
13.2.3 流水作業(yè)調(diào)度360
13.2.4 單源點(diǎn)最短路徑問題365
13.3 本章小結(jié)367
習(xí)題十三367
第14章 快遞超市信息管理系統(tǒng)369
14.1 問題描述369
14.2 需求分析370
14.3 概要設(shè)計(jì)370
14.3.1 模塊設(shè)計(jì)370
14.3.2 界面設(shè)計(jì)371
14.3.3 類和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)371
14.4 詳細(xì)設(shè)計(jì)373
14.4.1 類的詳細(xì)設(shè)計(jì)373
14.4.2 系統(tǒng)功能的詳細(xì)設(shè)計(jì)376
14.5 編碼377
14.6 測試386
14.7 本章小結(jié)391
習(xí)題十四391
參考文獻(xiàn)392