定 價:¥69.00
作 者: | 吳燦銘,胡昭民 |
出版社: | 清華大學出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787302566441 | 出版時間: | 2020-11-01 | 包裝: | |
開本: | 16 | 頁數(shù): | 281 | 字數(shù): |
目 錄
第1章 計算思維與程序設(shè)計 1
1.1 程序設(shè)計的速成攻略 2
1.1.1 計算思維簡介 3
1.1.2 分解 3
1.1.3 模式識別 4
1.1.4 模式概括與抽象 5
1.1.5 算法 5
1.2 生活中到處都是算法 7
1.2.1 算法的條件 7
1.2.2 時間復雜度O(f(n)) 10
1.3 程序設(shè)計邏輯簡介 11
1.3.1 結(jié)構(gòu)化程序設(shè)計 11
1.3.2 面向?qū)ο蟪绦蛟O(shè)計 12
1.3.3 面向?qū)ο蟪绦蛟O(shè)計的其他概念 15
1.4 C++面向?qū)ο蟮幕?16
1.4.1 C++的面向?qū)ο蠊δ?16
1.4.2 類的基本概念 16
1.4.3 訪問權(quán)限關(guān)鍵詞 18
1.4.4 繼承關(guān)系 18
1.4.5 多態(tài) 19
課后習題 20
第2章 經(jīng)典算法介紹 22
2.1 分治法 22
2.2 遞歸法 23
2.3 動態(tài)規(guī)劃法 26
2.4 迭代法 28
2.5 枚舉法 31
2.6 回溯法 37
2.7 貪心法 43
課后習題 44
第3章 走入數(shù)據(jù)結(jié)構(gòu)的奇妙世界 45
3.1 認識數(shù)據(jù)結(jié)構(gòu) 46
3.2 常見的數(shù)據(jù)結(jié)構(gòu) 48
3.2.1 數(shù)組 48
3.2.2 鏈表 51
3.2.3 堆棧 52
3.2.4 隊列 53
3.3 樹結(jié)構(gòu) 54
3.3.1 樹的基本概念 55
3.3.2 二叉樹 56
3.4 圖論簡介 58
3.5 哈希表 60
課后習題 61
第4章 排序算法 62
4.1 認識排序 63
4.2 冒泡排序法 65
4.3 選擇排序法 69
4.4 插入排序法 72
4.5 希爾排序法 74
4.6 快速排序法 77
4.7 合并排序法 81
4.8 基數(shù)排序法 84
4.9 堆積樹排序法 87
課后習題 94
第5章 查找算法 95
5.1 常見的查找算法 95
5.2 順序查找法 96
5.3 二分查找法 98
5.4 插值查找法 101
5.5 斐波那契查找法 103
課后習題 107
第6章 數(shù)組與鏈表算法 108
6.1 矩陣算法與深度學習 108
6.1.1 矩陣相加 111
6.1.2 矩陣相乘 112
6.1.3 轉(zhuǎn)置矩陣 115
6.1.4 稀疏矩陣 116
6.2 數(shù)組與多項式 119
6.3 單向鏈表算法 121
6.3.1 單向鏈表插入節(jié)點的算法 124
6.3.2 單向鏈表刪除節(jié)點的算法 129
6.3.3 對單向鏈表進行反轉(zhuǎn)的算法 133
6.3.4 單向鏈表串接的算法 136
6.4 鏈表與多項式 139
課后習題 144
第7章 安全性算法 145
7.1 數(shù)據(jù)加密 146
7.1.1 對稱密鑰加密系統(tǒng) 147
7.1.2 非對稱密鑰加密系統(tǒng)與RSA算法 147
7.1.3 認證 148
7.1.4 數(shù)字簽名 149
7.2 哈希算法 150
7.2.1 除留余數(shù)法 150
7.2.2 平方取中法 151
7.2.3 折疊法 152
7.2.4 數(shù)字分析法 153
7.3 碰撞與溢出處理 153
7.3.1 線性探測法 153
7.3.2 平方探測法 155
7.3.3 再哈希法 156
7.3.4 鏈表 157
課后習題 162
第8章 堆棧與隊列算法 163
8.1 以數(shù)組來實現(xiàn)堆棧 163
8.2 以鏈表來實現(xiàn)堆棧 168
8.3 漢諾塔問題的求解算法 170
8.4 八皇后問題的求解算法 175
8.5 用數(shù)組來實現(xiàn)隊列 178
8.6 用鏈表來實現(xiàn)隊列 181
8.7 雙向隊列 183
8.8 優(yōu)先隊列 187
課后習題 188
第9章 樹結(jié)構(gòu)及其算法 189
9.1 用數(shù)組來實現(xiàn)二叉樹 190
9.2 用鏈表來實現(xiàn)二叉樹 193
9.3 二叉樹遍歷 195
9.4 二叉查找樹 201
9.5 二叉樹節(jié)點的插入 204
9.6 二叉樹節(jié)點的刪除 206
9.7 二叉運算樹 208
9.8 二叉排序樹 213
9.9 線索二叉樹 215
9.10 擴充二叉樹 220
9.11 哈夫曼樹 222
9.12 平衡樹 223
9.13 博弈樹 225
課后習題 226
第10章 圖結(jié)構(gòu)及其算法 228
10.1 圖的數(shù)據(jù)表示法 228
10.1.1 鄰接矩陣法 229
10.1.2 鄰接鏈表法 230
10.1.3 鄰接復合鏈表法 232
10.1.4 索引表格法 233
10.2 圖的遍歷 233
10.2.1 深度優(yōu)先遍歷法 234
10.2.2 廣度優(yōu)先遍歷法 237
10.3 生成樹 241
10.3.1 深度優(yōu)先生成樹和廣度優(yōu)先生成樹 241
10.3.2 最小成本生成樹 242
10.3.3 Prim算法 243
10.3.4 Kruskal算法 246
10.4 圖的最短路徑法 250
10.4.1 Dijkstra算法與A*算法 251
10.4.2 Floyd算法 258
課后習題 262
附錄A 課后習題與解答 265