算法不難
林進威
相關主題
商品描述
目錄大綱
第1章 算法基礎 1
1.1 什麽是算法 1
1.1.1 思維與邏輯 1
1.1.2 算法的特性 2
1.1.3 算法與數學 3
1.1.4 算法與電腦科學 4
1.2 正確使用與設計算法 5
1.2.1 從問題出發 5
1.2.2 永遠追求效率 6
1.2.3 算法評測與復雜度 7
1.3 本章小結 17
第2章 排序算法 18
2.1 排序算法的基本思想 18
2.1.1 什麽是排序 18
2.1.2 十大經典算法 19
2.1.3 排序算法的穩定性 19
2.1.4 比較排序與非比較排序 20
2.1.5 內部排序與外部排序 21
2.2 十大排序算法及其設計思想 22
2.2.1 冒泡排序 22
2.2.2 選擇排序 26
2.2.3 插入排序 31
2.2.4 希爾排序 39
2.2.5 歸並排序 43
2.2.6 快速排序 48
2.2.7 堆排序 55
2.2.8 計數排序 67
2.2.9 桶排序 72
2.2.10 基數排序 79
2.3 十大排序算法的性能分析與對比 86
2.3.1 十大排序算法的復雜度分析與對比 86
2.3.2 排序算法的穩定性 87
2.4 本章小結 89
第3章 圖算法 90
3.1 圖算法概述 90
3.1.1 圖的定義 90
3.1.2 圖的分類 91
3.1.3 圖算法與圖分析 92
3.1.4 圖算法的應用 92
3.2 有向圖與無向圖 92
3.3 完全圖與非完全圖 93
3.4 連通圖與非連通圖 94
3.5 加權圖與非加權圖 96
3.6 循環圖與非循環圖 97
3.7 常用的圖算法 98
3.7.1 路徑搜索算法 98
3.7.2 廣度優先搜索算法 98
3.7.3 深度優先搜索算法 104
3.7.4 最小生成樹算法 111
3.7.5 單源最短路徑算法 125
3.7.6 最大流算法 136
3.8 本章小結 146
第4章 字符串算法 147
4.1 字符串概述 147
4.1.1 字符串的定義 147
4.1.2 字符串與字節串 147
4.1.3 字節與字節數組 148
4.1.4 字符串算法的處理邏輯 148
4.2 字符串判斷算法 149
4.2.1 尋找相同的部分 149
4.2.2 字符串的內置操作 151
4.3 字符串匹配算法 153
4.3.1 BF算法 153
4.3.2 BK算法 154
4.3.3 KMP算法 162
4.3.4 BM算法 168
4.3.5 Sunday算法 174
4.3.6 Robin-Karp算法 176
4.3.7 Bitap算法 181
4.3.8 Horspool算法 199
4.4 字符串排序算法 203
4.4.1 字符串排序的原理 203
4.4.2 鍵索引計數法 204
4.4.3 LSD低位優先排序 209
4.4.4 MSD高位優先排序 213
4.4.5 三向字符串快速排序 219
4.5 字符串壓縮算法 224
4.5.1 字符串壓縮的原理 224
4.5.2 有損壓縮與無損壓縮 226
4.5.3 字典壓縮算法 227
4.5.4 哈夫曼壓縮算法 231
4.5.5 LZ77壓縮算法 243
4.6 本章小結 253
第5章 經典算法思想 254
5.1 枚舉算法思想 254
5.1.1 枚舉的原理 254
5.1.2 枚舉算法實例 254
5.2 遞推算法思想 256
5.2.1 遞推的原理 257
5.2.2 遞推與斐波那契數列 257
5.3 遞歸算法思想 259
5.3.1 遞歸的原理 259
5.3.2 用遞歸算法求階乘 260
5.4 分治算法思想 262
5.4.1 分治的原理 262
5.4.2 用分治算法求最值 263
5.5 貪心算法思想 265
5.5.1 貪心的原理 265
5.5.2 貪心算法實例 266
5.6 動態規劃算法思想 268
5.6.1 動態規劃的原理 268
5.6.2 動態規劃與路徑規劃 269
5.7 迭代算法思想 276
5.7.1 迭代的原理 276
5.7.2 用迭代算法求平方 277
5.8 回溯算法思想 278
5.8.1 回溯的原理 278
5.8.2 用回溯算法求八皇後問題 279
5.9 模擬算法思想 288
5.9.1 模擬的原理 288
5.9.2 用一維列表模擬一維關系 289
5.9.3 用二維列表模擬二維關系 289
5.10 本章小結 293