今年底出版《算法竞赛》,这是大纲

《算法竞赛》预计年底印出来,这是目录。
有没有需要改进的?请大家提意见
  
  
第1章 基础数据结构
  1.1 链表
    1.1.1 动态链表
    1.1.2 用结构体实现单向静态链表
    1.1.3 用结构体实现双向静态链表
    1.1.4 用一维数组实现单向静态链表
    1.1.5 STL list
  1.2 队列
    1.2.1 STL queue
    1.2.2 手写循环队列
    1.2.3 双端队列和单调队列
    1.2.4 优先队列
  1.3 栈
    1.3.1 STL stack
    1.3.2 手写栈
    1.3.3 单调栈
  1.4 堆
    1.4.1 二叉堆概念
    1.4.2 二叉堆的实现
    1.4.3 手写堆
    1.4.4 STL priority_queue
  1.5 哈希
    1.5.1 哈希的基本概念
    1.5.2 进制哈希
    1.5.3 双哈希
    1.5.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.2.3 整数二分典型题目
    2.2.4 实数二分
  2.3 三分法
    2.3.1 原理
    2.3.2 实数三分
    2.3.3 整数三分
  2.4 倍增与ST算法
  2.5 差分
    2.5.1 一维差分
    2.5.2 二维差分
    2.5.3 三维差分
  2.6 离散化
  2.7 排序
  2.8 位运算
第3章 搜索
  3.1 搜索基础
    3.1.1 搜索简介
    3.1.2 搜索算法的基本思路
    3.1.3 BFS的性质和代码实现
    3.1.4 DFS的常见操作和代码实现
    3.1.5 BFS和DFS
  3.2 剪枝
  3.3 BFS扩展
    3.3.1 双向广搜
    3.3.2 BFS +优先队列
    3.3.3 BFS +双端队列
    3.3.4 A*算法
  3.4 迭代加深
    3.4.1 BFS和DFS的缺点
    3.4.2 迭代加深搜索的原理和复杂度
  3.5 IDA*
第4章 高级数据结构
  4.1 并查集
    4.1.1 并查集的基本操作
    4.1.2 合并的优化
    4.1.3 查询的优化——路径压缩
    4.1.4 带权并查集
  4.2 树状数组
    4.2.1 树状数组概念和基本编码
    4.2.2 树状数组基本应用
    4.2.3 树状数组扩展应用
  4.3 线段树
    4.3.1 线段树概念
    4.3.2 区间查询
    4.3.3 区间操作与lazy-tag
    4.3.4 基础例题
    4.3.5 区间最值和区间历史最值
    4.3.6 区间合并
    4.3.7 扫描线
    4.3.8 二维线段树(树套树)
  4.4 可持久化线段树(主席树)
  4.5 分块与莫队算法
    4.5.1 分块
    4.5.2 基础莫队算法
    4.5.3 带修改的莫队
    4.5.4 树上莫队
  4.6 块状链表
  4.7 二叉搜索树
    4.7.1 概念
    4.7.1 Treap树
    4.7.1 Splay树
  4.8 哈夫曼树
  4.9 笛卡尔树
  4.10 基环树
  4.11 字典树
  4.12 动态树LCT
第5章 动态规划
  5.1 DP概念和编码方法
    5.1.1 DP问题的特征
    5.1.2 DP的两种编程方法
    5.1.3 DP的设计和实现
    5.1.4 滚动数组
  5.2 经典DP面试问题
  5.3 典型DP应用
    5.3.1 区间DP
    5.3.2 状态压缩DP
    5.3.3 树形DP
    5.3.4 数位DP
    5.3.5 计数类DP
    5.3.6 概率DP
    5.3.7 动态DP
    5.3.8 插头DP
  5.4 DP优化
    5.4.1 DP优化技术概述
    5.4.2 一般优化方法
    5.4.3 单调队列优化
    5.4.4 斜率优化/凸壳优化
    5.4.5 四边形不等式优化
    5.4.6 数据结构优化
  5.5 DP难题选讲
第6章 数学
  6.1模运算
  6.2快速幂
  6.3矩阵乘法
    6.3.1 矩阵的计算
    6.3.2 矩阵快速幂
    6.3.2 矩阵快速幂加速递推
    6.3.2 矩阵乘法与路径问题
  6.4 矩阵和高斯消元
  6.5 0/1分数规划
  6.6 数论概述
  6.7 GCD和LCM
    6.7.1 GCD
    6.7.2 裴蜀定理
    6.7.3 LCM
  6.8 线性丢番图方程
  6.9 同余
    6.9.1 同余概述
    6.9.2 一元线性同余方程
    6.9.3 逆
    6.9.4 同余方程组
  6.10 原根
  6.11 Lucas定理
  6.12 大步小步算法
  6.13 Polya定理和Burnside引理
  6.14 素数(质数)
    6.14.1 小素数的判定
    6.14.2 大素数的判定
    6.14.3 用java函数判定大素数
    6.14.4 素数筛
    6.14.5 质因数分解
  6.15 威尔逊定理
  6.16 积性函数
  6.17 欧拉函数和欧拉定理
    6.17.1 欧拉函数
    6.17.2 欧拉定理
  6.18 整除分块(数论分块)
  6.19 狄利克雷卷积
  6.20 莫比乌斯函数和莫比乌斯反演
  6.21 Min-25筛
  6.22 杜教筛
  6.23 高等数学
第7章 字符串
  7.1 Manacher
  7.2 KMP
  7.3 AC自动机
  7.4 后缀树和后缀数组
第8章 图论
  8.1 图的存储
  8.2 洪水填充算法
  8.3 树上问题概述
  8.4 LCA
    8.4.1 树上的倍增
    8.4.2 树上的Tarjan
    8.4.3 LCA应用
  8.5 树链剖分
    8.5.1 树链剖分求LCA
    8.5.2 树链剖分的典型应用
    8.5.3 长链剖分
  8.6 最短路
    8.6.1 Floyd-Warshall
    8.6.2 Dijkstra
    8.6.3 Bellman-ford算法和SPFA算法
    8.6.4 比较Bellman-ford算法和Dijkstra算法
    8.6.5 最短路习题
  8.7 差分约束
  8.8 最小生成树
    8.8.1 Kruskal算法
    8.8.2 Prim算法
    8.8.3 例题
  8.9 拓扑排序
  8.10 二分图
  8.11 2-SAT
  8.12 图的连通性
  8.13 最大流
  8.14 最小割
  8.15 最小费用最大流
第9章 几何

附A 测试数据的构造与对拍(C++实现)
附B 竞赛常用C++ STL函数
附C Python在竞赛中的应用
附D 算法竞赛知识盘点

你可能感兴趣的:(今年底出版《算法竞赛》,这是大纲)