算法與數據結構(C&Java)(第2版)

李廣水,錢海忠,蔡利超

  • 出版商: 電子工業
  • 出版日期: 2023-02-01
  • 定價: $317
  • 售價: 8.5$269
  • 語言: 簡體中文
  • 頁數: 264
  • ISBN: 7121448653
  • ISBN-13: 9787121448652
  • 下單後立即進貨 (約4週~6週)

商品描述

本書共10章,分別是緒論、線性表、棧和隊列、串、多維數組和廣義表、樹、圖、排序、查找和經典算法分析。全書的算法程序基於C和Java兩種語言實現。本書的知識體系符合當前對該課程的主流認知,從文字組織及示例設置上,將本書劃分為四個部分,基礎理論、基礎應用、常規應用和經典算法分析,既體現了由理論到實踐的遞進,又保證了內容的緊湊完整。本書是應用型本科教材,覆蓋了“數據結構”課程絕大部分知識範疇,並給出了算法實現代碼,對比較復雜的問題不僅給出了設計思路,還給出了具體示例分析,以幫助讀者理解和掌握,因此,本書也適合工程技術人員參考使用,同時可以作為相關專業學生的考研輔導用書。

目錄大綱

第1章 緒論 1
1.1 數據結構的概念 1
1.2 為什麽要學習數據結構 3
1.3 算法 4
本章小結 7
本章習題 8
第2章  線性表 10
2.1 基本概念與抽象數據類型 10
2.2 順序表示 12
2.3 鏈式表示 14
2.4 單鏈表的改進和擴充 20
2.5 應用舉例 23
2.6 鏈表相關操作的Java實現 27
本章小結 33
本章習題 33
第3章  棧和隊列 36
3.1 棧 36
3.2 隊列 42
3.3 堆棧與隊列的Java實現 52
本章小結 56
本章習題 56
第4章  串 59
4.1 串的基本概念與抽象數據類型 59
4.2 串的存儲結構 62
4.3 串運算的實現 66
4.4 KMP算法 69
本章小結 72
本章習題 73
第5章  多維數組和廣義表 74
5.1 多維數組 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 二叉樹、樹和森林之間的轉換 108
6.7 哈夫曼樹及其應用 110
6.8 二叉樹相關操作的Java實現 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實現 165
本章小結 171
本章習題 171
第8章  排序 175
8.1 基本概念 175
8.2 插入排序 177
8.3 交換排序 182
8.4 選擇排序 188
8.5 歸並排序 194
8.6 內部排序方法的比較和選擇 198
8.7 排序算法的Java實現 199
本章小結 204
本章習題 204
第9章  查找 207
9.1 線性表的查找 207
9.2 樹表的查找 212
9.3 散列表的查找 225
9.4 散列表(鏈地址法)的Java實現 234
本章小結 235
本章習題 235
第10章 經典算法分析 238
10.1 分治算法 238
10.2 動態規劃算法 241
10.3 貪心算法 245
10.4 回溯算法 249
10.5 分支限界算法 251
本章小結 255
本章習題 255
參考文獻 256