定 價:49 元
叢書名:高等院校計算機類專業(yè)"互聯(lián)網(wǎng)+"創(chuàng)新規(guī)劃教材
- 作者:陳超祥 主編
- 出版時間:2024/3/1
- ISBN:9787301347614
- 出 版 社:北京大學出版社
- 中圖法分類:TP311.12;TP312.8
- 頁碼:292
- 紙張:
- 版次:2
- 開本:16開
本書共9章,系統(tǒng)介紹了常用的數(shù)據(jù)結構與算法方面的基本知識。第1章為緒論,引入了數(shù)據(jù)結構與算法的一些基本概念;第2~7章分別介紹了線性表、棧、隊列、串、多維數(shù)組、樹和圖等基本的數(shù)據(jù)結構;第8章和第9章分別介紹了多種排序和查找的算法。本書引入的主要案例都源自實際項目應用,案例、項目由企業(yè)工程師根據(jù)章節(jié)內容設計并實現(xiàn),全部程序都在C Free 5.0或Visual C++ 6.0中調試通過。為方便讀者學習和理解,本書提供了全部案例的運行視頻,對所描述的部分數(shù)據(jù)結構核心算法錄制了講解視頻。本書可以作為高等院校計算機、人工智能和數(shù)據(jù)科學與大數(shù)據(jù)等相關專業(yè)的教材,也可以作為其他理工科專業(yè)的選修教材,還可供從事計算機應用的工程技術人員參考,讀者只需掌握C語言編程的基本技術就可以學習本書。
陳超祥
----------------------------
陳超祥,教授,浙江樹人大學。國家、省級大學生校外實踐教育基地負責人,省國際服務外包人才培育基地負責人,數(shù)字媒體技術專業(yè)負責人。省服務外包競賽、多媒體競賽專家?guī)斐蓡T。省科技項目評審專家?guī)斐蓡T。主持完成國家外專項目、省自然科學基金、省公益項目、省部級教學研究與改革項目、教育廳科研項目和重大橫向課題等20多項。在學術期刊和國際會議上發(fā)表40余篇學術論文,其中20余篇發(fā)表在一級及以上核心期刊和被SCI、EI、ISTP收錄。出版專著1部。申請發(fā)明專利3項(授權1項)、新型專利7項、軟著10余項。主講數(shù)據(jù)結構、程序設計基礎等課程。作為主要成員曾獲省級教學成果獎一、二等獎,曾獲浙江省“三育人”先進個人、“我心目中的好老師”、校教壇新秀、校優(yōu)秀中青年骨干教師等榮譽稱號,曾多次榮獲課堂教學質量優(yōu)秀和教學業(yè)績考核優(yōu)秀。
第1章 緒論 1
1.1 為什么要學習數(shù)據(jù)結構 1
1.2 數(shù)據(jù)結構概述 5
1.3 算法和算法分析 8
1.3.1 算法 8
1.3.2 算法分析 8
本章小結 11
本章習題 11
第2章 線性表 14
2.1 線性表的定義和基本操作 14
2.1.1 線性表的定義 15
2.1.2 線性表的基本操作 15
2.2 線性表的順序存儲、實現(xiàn)和應用 17
2.2.1 線性表的順序存儲 17
2.2.2 順序表的操作實現(xiàn) 18
2.2.3 用順序表實現(xiàn)糧食收購入庫管理問題 22
2.3 線性表的鏈式存儲、實現(xiàn)和應用 30
2.3.1 單鏈表 31
2.3.2 用單鏈表實現(xiàn)病患信息管理問題 39
2.3.3 單循環(huán)鏈表 44
2.3.4 雙鏈表 46
2.4 順序表和鏈表的比較 49
本章小結 49
本章習題 50
第3章 棧與隊列 52
3.1 棧 52
3.1.1 棧的定義 52
3.1.2 棧的基本操作 53
3.1.3 棧的順序存儲和實現(xiàn) 53
3.1.4 用棧實現(xiàn)地鐵網(wǎng)絡兩站點間最佳換乘問題 56
3.2 隊列 67
3.2.1 隊列的概念 68
3.2.2 隊列的基本操作 68
3.2.3 隊列的順序存儲和實現(xiàn) 68
3.2.4 隊列的鏈式存儲和實現(xiàn) 73
3.2.5 用隊列實現(xiàn)醫(yī)院排隊叫號問題 77
本章小結 83
本章習題 83
第4章 串 86
4.1 串的類型與基本運算 86
4.1.1 串的類型定義 86
4.1.2 串的基本運算 86
4.2 串的存儲 89
4.2.1 串的順序存儲 89
4.2.2 串的鏈式存儲 90
4.3 串的模式匹配 91
4.3.1 模式匹配的簡單算法 91
4.3.2 KMP算法 94
4.3.3 KMP改進算法 98
4.4 用串實現(xiàn)手機通信錄管理系統(tǒng) 99
本章小結 108
本章習題 109
第5章 多維數(shù)組 111
5.1 數(shù)組 111
5.1.1 數(shù)組的概念 111
5.1.2 數(shù)組的存儲結構和實現(xiàn) 112
5.1.3 用二維數(shù)組解決用戶喜好相似度商品推薦的問題 114
5.2 矩陣的壓縮存儲 121
5.2.1 特殊矩陣的邏輯結構 122
5.2.2 用特殊矩陣解決查詢城市
之間距離的問題 123
5.3 稀疏矩陣 125
5.3.1 稀疏矩陣的邏輯結構 125
5.3.2 稀疏矩陣的壓縮存儲 125
本章小結 127
本章習題 127
第6章 樹 130
6.1 概述 130
6.2 二叉樹 133
6.2.1 二叉樹的定義和基本操作 133
6.2.2 二叉樹的性質 134
6.2.3 二叉樹的存儲 136
6.3 二叉樹的遍歷和線索化 139
6.3.1 二叉樹的遍歷 139
6.3.2 二叉樹的線索化 144
6.3.3 用二叉樹解決快速搜索人口普查中的數(shù)據(jù)問題 149
6.4 樹和森林 152
6.4.1 樹的存儲 153
6.4.2 樹、森林與二叉樹的轉換 156
6.4.3 樹和森林的遍歷 157
6.5 哈夫曼樹及其應用 158
6.5.1 基本概念 158
6.5.2 哈夫曼樹的構造 159
6.5.3 哈夫曼樹的應用 163
6.5.4 用哈夫曼樹解決文件傳輸編碼問題 164
本章小結 173
本章習題 173
第7章 圖 177
7.1 圖的定義和術語 177
7.1.1 各種圖定義 178
7.1.2 圖的頂點與邊間關系 180
7.1.3 連通圖的相關術語 182
7.2 圖的存儲結構 184
7.2.1 鄰接矩陣存儲結構 184
7.2.2 鄰接表存儲結構 186
7.3 圖的遍歷 189
7.3.1 深度優(yōu)先搜索遍歷 190
7.3.2 廣度優(yōu)先搜索遍歷 192
7.4 圖的生成樹 194
7.4.1 生成樹的基本概念 194
7.4.2 最小生成樹的構造 196
7.5 最短路徑 202
7.5.1 單源最短路徑 202
7.5.2 所有頂點對之間的最短路徑 207
7.6 村村通公路規(guī)劃系統(tǒng)的實現(xiàn) 211
本章小結 227
本章習題 227
第8章 排序 231
8.1 概述 231
8.2 插入排序 232
8.2.1 直接插入排序 232
8.2.2 希爾排序 235
8.3 交換排序 237
8.3.1 冒泡排序 237
8.3.2 快速排序 239
8.4 選擇排序 241
8.4.1 直接選擇排序 242
8.4.2 堆排序 243
8.5 編程實現(xiàn)奧運會奧運獎牌排名系統(tǒng) 247
本章小結 258
本章習題 258
第9章 查找 261
9.1 概述 261
9.2 線性表查找 262
9.2.1 順序查找 262
9.2.2 二分查找 264
9.2.3 分塊查找 266
9.3 哈希表查找 268
9.3.1 哈希表的概念 269
9.3.2 哈希表的構造 270
9.3.3 解決沖突的方法 272
9.3.4 哈希表查找實現(xiàn) 276
9.4 編程實現(xiàn)鐵路售票查詢系統(tǒng) 277
本章小結 281
本章習題 282
參考文獻 285