第1章 基础算法 1.1 分治 1.2 递归 1.3 枚举 1.4 贪心第2章 排序、查找算法 2.1 基本排序算法 2.1.1 插入排序 2.1.2 冒泡排序 2.1.3 快速排序 2.1.4 其他排序 2.2 基本查找算法 2.2.1 顺序查找 2.2.2 折半查找 2.3 实例分析 2.4 小结第3章 数据结构基础 3.1 常用数据结构简介 3.1.1 线段树简介 3.1.2 并查集简介 3.1.3 树状数组简介 3.2 实例分析第4章 字符串 4.1 字符串匹配 4.1.1 朴素的字符串匹配算法 4.1.2 KMP算法 4.1.3 其他匹配算法 4.2 实例分析 4.3 小结第5章 搜索算法 5.1 基本搜索算法 5.1.1 递归与迭代 5.1.2 深度优先搜索与广度优先搜索 5.1.3 回溯 5.2 搜索算法的一些优化 5.2.1 剪枝函数 5.2.2 双向广度搜索 5.3 实例分析 5.4 小结第6章 图论算法 6.1 最短路径 6.1.1 Dijkstra算法 6.1.2 Floyd算法 6.1.3 Bellman—Ford算法 6.2 最小生成树 6.2.1 Kruskal算法 6.2.2 Prim算法 6.3 最大匹配——匈牙利算法 6.4 最优权匹配问题 6.4.1 理论基础 6.4.2 基本思想 6.4.3 样例代码 6.5 割点、割边以及连通分量 6.5.1 理论基础 6.5.2 求割点 6.5.3 求强连通分量 6.6 网络流 6.6.1 理论基础 6.6.2 最大流问题 6.6.3 最小费用最大流问题 6.7 实例分析 6.8 小结第7章 动态规划算法 7.1 基本思想 7.2 基本概念 7.3 基本原理 7.3.1 最优化原理 7.3.2 无后效性 7.4 基本步骤 7.5 经典例子 7.6 实例分析 7.7 小结第8章 计算几何基础 8.1 矢量 8.1.1 矢量的概念 8.1.2 矢量加减法 8.1.3 矢量叉积 8.1.4 矢量叉积的应用 8.2 包含关系 8.2.1 判断图形是否包含在矩形中 8.2.2 判断图形是否包含在多边形中 8.2.3 判断图形是否包含在圆中 8.3 凸包 8.3.1 凸包的概念 8.3.2 凸包的求法 8.4 实例分析第9章 数论 9.1 基本数学算法 9.1.1 素数筛选 9.1.2 最大公约数 9.1.3 快速乘方 9.2 实例分析附录A 综合训练题 A.1 LuckyBird A.2 Josephus’problem A.3 Counter Strike A.4 Gauss Elimination A.5 The Math Problem A.6 Mobile phones A.7 Japan A.8 骨灰级玩家考证篇 A.9 括号匹配 A.10 食物链
· · · · · · (
收起)