算法與數(shù)據(jù)結構(C&Java)(第2版)
定 價:52.8 元
當前圖書已被 24 所學校薦購過!
查看明細
- 作者:李廣水
- 出版時間:2023/2/1
- ISBN:9787121448652
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.12
- 頁碼:
- 紙張:
- 版次:
- 開本:
本書共10章,分別是緒論、線性表、棧和隊列、串、多維數(shù)組和廣義表、樹、圖、排序、查找和經(jīng)典算法分析。全書的算法程序基于C和Java兩種語言實現(xiàn)。本書的知識體系符合當前對該課程的主流認知,從文字組織及示例設置上,將本書劃分為四個部分,基礎理論、基礎應用、常規(guī)應用和經(jīng)典算法分析,既體現(xiàn)了由理論到實踐的遞進,又保證了內(nèi)容的緊湊完整。本書是應用型本科教材,覆蓋了“數(shù)據(jù)結構”課程絕大部分知識范疇,并給出了算法實現(xiàn)代碼,對比較復雜的問題不僅給出了設計思路,還給出了具體示例分析,以幫助讀者理解和掌握,因此,本書也適合工程技術人員參考使用,同時可以作為相關專業(yè)學生的考研輔導用書。
李廣水,南京林業(yè)大學森林經(jīng)理博士,教授,金陵科技學院軟件工程學院教師,多次獲得江蘇省高等教育學會、教育科學研究院、校級教學成果獎,在軟件工程專業(yè)從事十幾年的教學工作,教學嚴謹,科研認真,主持江蘇省多項科研教學項目。
第1章 緒論1
1.1 數(shù)據(jù)結構的概念1
1.2 為什么要學習數(shù)據(jù)結構3
1.3 算法4
本章小結7
本章習題8
第2章 線性表10
2.1 基本概念與抽象數(shù)據(jù)類型10
2.2 順序表示12
2.3 鏈式表示14
2.4 單鏈表的改進和擴充20
2.5 應用舉例23
2.6 鏈表相關操作的Java實現(xiàn)27
本章小結33
本章習題33
第3章 棧和隊列36
3.1 棧36
3.2 隊列42
3.3 堆棧與隊列的Java實現(xiàn)52
本章小結56
本章習題56
第4章 串59
4.1 串的基本概念與抽象數(shù)據(jù)類型59
4.2 串的存儲結構62
4.3 串運算的實現(xiàn)66
4.4 KMP算法69
本章小結72
本章習題73
第5章 多維數(shù)組和廣義表74
5.1 多維數(shù)組74
5.2 矩陣的壓縮存儲76
5.3 廣義表84
本章小結89
本章習題89
第6章 樹91
6.1 樹、森林及其相關概念91
6.2 二叉樹及其相關特性93
6.3 二叉樹的存儲96
6.4 二叉樹的遍歷99
6.5 線索二叉樹103
6.6 二叉樹、樹和森林之間的轉(zhuǎn)換108
6.7 哈夫曼樹及其應用110
6.8 二叉樹相關操作的Java實現(xiàn)118
本章小結122
本章習題122
第7章 圖125
7.1 圖的概念125
7.2 圖的存儲128
7.3 圖的遍歷135
7.4 生成樹和最小生成樹144
7.5 最短路徑153
7.6 拓撲排序156
7.7 關鍵路徑159
7.8 相關算法的Java實現(xiàn)165
本章小結171
本章習題171
第8章 排序175
8.1 基本概念175
8.2 插入排序177
8.3 交換排序182
8.4 選擇排序188
8.5 歸并排序194
8.6 內(nèi)部排序方法的比較和選擇198
8.7 排序算法的Java實現(xiàn)199
本章小結204
本章習題204
第9章 查找207
9.1 線性表的查找207
9.2 樹表的查找212
9.3 散列表的查找225
9.4 散列表(鏈地址法)的Java實現(xiàn)234
本章小結235
本章習題235
第10章 經(jīng)典算法分析238
10.1 分治算法238
10.2 動態(tài)規(guī)劃算法241
10.3 貪心算法245
10.4 回溯算法249
10.5 分支限界算法251
本章小結255
本章習題255
參考文獻 256