本書由CCF組織富有程序設計經驗的鉆石教練編寫。通過詳實的案例,循序漸進地介紹中學生計算機程序設計的各種知識及其應用,內容包括樹及其應用,二叉樹及其應用,集合與并查集,圖及其應用,散列表及其應用,排序及其應用,基礎算法及其應用,動態(tài)方程設計,數學在程序設計中的應用等,旨在普及計算機科學教育,培養(yǎng)中學生的計算思維能力。
更多科學出版社服務,請掃碼獲取。
目錄
第1章 樹及其應用
1.1 樹的相關概念及其性質 1
1.2 樹的存儲及遍歷法 3
1.3 最近公共祖先(LCA) 9
1.4 樹的簡單應用 14
1.5 樹的統(tǒng)計 21
1.6 樹的應用實例 24
本章小結 32
第2章 二叉樹及其應用
2.1 二叉樹的概念及其性質 33
2.2 二叉樹的存儲方法 35
2.3 二叉樹的遍歷 35
2.4 樹、森林與二叉樹的轉化 39
2.5 哈夫曼樹及其應用 41
2.6 二叉堆及其應用 45
2.7 二叉排序樹及其應用 52
本章小結 57
第3章 集合與并查集
3.1 集合與并查集 59
3.2 并查集的基本操作 61
3.3 并查集的應用 62
本章小結 71
第4章 圖及其應用
4.1 圖的基本概念 73
4.2 圖的存儲方法 75
4.3 圖的遍歷 78
4.4 圖的連性問題 86
4.5 無向圖的生成樹 96
4.6 最短路徑 102
4.7 有向圖的基本應用 114
本章小結 124
第5章 二分圖及其應用
5.1 二分圖的判定 125
5.2 二分圖的匹配 131
5.3 二分圖的最大匹配 133
5.4 二分圖的最佳匹配 136
5.5 二分圖的應用 139
本章小結 143
第6章 哈希表及其應用
6.1 數值的哈希 145
6.2 沖突的處理 146
6.3 字符串的哈希 154
6.4 排列的哈希 159
6.5 數據結構的哈希 161
本章小結 164
第7章 排序及其應用
7.1 桶排序 165
7.2 插入排序 166
7.3 選擇排序 168
7.4 分治思想排序 168
7.5 基數排序 176
7.6 拓撲排序 178
本章小結 181
第8章 基礎算法及其應用
8.1 貪心算法 183
8.2 遞推算法 189
8.3 分治算法 193
8.4 深度優(yōu)先搜索的優(yōu)化 202
8.5 寬度優(yōu)先搜索的優(yōu)化 211
本章小結 219
第9章 動態(tài)規(guī)劃
9.1 動態(tài)規(guī)劃的基本原理 221
9.2 線形動態(tài)規(guī)劃 224
9.3 背包類型動態(tài)規(guī)劃 231
9.4 區(qū)間類型動態(tài)規(guī)劃 238
9.5 矩陣類型動態(tài)規(guī)劃 241
9.6 狀態(tài)壓縮類型動態(tài)規(guī)劃 245
9.7 樹形動態(tài)規(guī)劃 250
9.8 動態(tài)規(guī)劃的狀態(tài)分析 252
本章小結 254
第10章 數學在程序設計中的應用
10.1 函數單調性的應用 255
10.2 矩陣的應用 258
10.3 線性方程組 262
10.4 矩陣的快速冪 268
10.5 模線性方程 271
10.6 模線性方程組 274
10.7 概率及期望 277
10.8 排列與組合 281
10.9 容斥原理 284
10.10 鴿巢原理 289
10.11 矢量基礎運算 289
本章小結 297