为你推荐
作者简介
前言
阅读说明
第1章 算法设计基础
1.1 思维的体操
1.2 问题求解常见策略
1.3 高效算法设计举例
1.4 动态规划专题
1.5 小结与习题
第2章 数学基础
2.1 基本计数方法
2.2 递推关系
2.3 数论
2.3.1 基本概念
2.3.2 模方程
2.4 组合游戏
2.5 概率与数学期望
2.6 置换及其应用
2.7 矩阵和线性方程组
2.8 数值方法简介
2.9 小结与习题
第3章 实用数据结构
3.1 基础数据结构回顾
3.1.1 抽象数据类型(ADT)
3.1.2 优先队列
3.1.3 并查集
3.2 区间信息的维护与查询
3.2.1 二叉索引树(树状数组)
3.2.2 RMQ问题
3.2.3 线段树(1):点修改
3.2.4 线段树(2):区间修改
3.3 字符串(1)
3.3.1 Trie
3.3.2 KMP算法
3.3.3 Aho-Corasick自动机
3.4 字符串(2)
3.4.1 后缀数组
3.4.2 最长公共前缀(LCP)
3.4.3 基于哈希值的LCP算法
3.5 排序二叉树
3.5.1 基本概念
3.5.2 用Treap实现名次树
3.5.3 用伸展树实现可分裂与合并的序列
3.6 小结与习题
第4章 几何问题
4.1 二维几何基础
4.1.1 基本运算
4.1.2 点和直线
4.1.3 多边形
4.1.4 例题选讲
4.1.5 二维几何小结
4.2 与圆和球有关的计算问题
4.2.1 圆的相关计算
4.2.2 球面相关问题
4.3 二维几何常用算法
4.3.1 点在多边形内判定
4.3.2 凸包
4.3.3 半平面交
4.3.4 平面区域
4.4 三维几何基础
4.4.1 三维点积
4.4.2 三维叉积
4.4.3 三维凸包
4.4.4 例题选讲
4.4.5 三维几何小结
4.5 小结与习题
第5章 图论算法与模型
5.1 基础题目选讲
5.2 深度优先遍历
5.2.1 无向图的割顶和桥
5.2.2 无向图的双连通分量
5.2.3 有向图的强连通分量
5.2.4 2-SAT问题
5.3 最短路问题
5.3.1 再谈Dijkstra算法
5.3.2 再谈Bellman-Ford算法
5.3.3 例题选讲
5.4 生成树相关问题
5.5 二分图匹配
5.5.1 二分图最大匹配
5.5.2 二分图最佳完美匹配
5.5.3 稳定婚姻问题
5.5.4 常见模型
5.6 网络流问题
5.6.1 最短增广路算法
5.6.2 最小费用最大流算法
5.6.3 建模与模型变换
5.6.4 例题选讲
5.7 小结与习题
第6章 更多算法专题
6.1 轮廓线动态规划
6.2 嵌套和分块数据结构
6.3 暴力法专题
6.3.1 路径寻找问题
6.3.2 对抗搜索
6.3.3 精确覆盖问题和DLX算法
6.4 几何专题
6.4.1 仿射变换与矩阵
6.4.2 离散化和扫描法
6.4.3 运动规划
6.5 数学专题
6.5.1 小专题集锦
6.5.2 快速傅里叶变换(FFT)
6.5.3 线性规划
6.6 浅谈代码设计与静态查错
6.6.1 简单的Bash
6.6.2 《仙剑奇侠传四》之最后的战役
6.7 小结与习题
附录A 训练指南:使用UVa/LA题库
A.1 UVa在线比赛推荐
A.2 LA套题(ACM/ICPC真题)推荐
A.3 UVa在线比赛单题推荐
附录B Java、C#和Python语言简介
B.1 Java
B.2 C#
B.3 Python
主要参考书目
算法艺术与信息学竞赛
丛书介绍
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜