全部商品分类

您现在的位置: 全部商品分类 > 电子电脑 > 计算机技术 > 计算机原理与基础

算法竞赛入门经典训练指南(升级版算法艺术与信息学竞赛)

  • 定价: ¥118
  • ISBN:9787302571742
  • 开 本:16开 平装
  •  
  • 折扣:
  • 出版社:清华大学
  • 页数:581页
  • 作者:编者:刘汝佳//陈...
  • 立即节省:
  • 2021-05-01 第1版
  • 2021-05-01 第1次印刷
我要买:
点击放图片

导语

  

内容提要

  

    本书是《算法竞赛入门经典(第2版)》一书的重要补充,旨在补充原书中没有涉及或者讲解得不够详细的内容,从而构建一个更完整的知识体系。本书通过大量有针对性的题目,让抽象复杂的算法和数学具体化、实用化。
    本书共包括6章,分别为算法设计基础、数学基础、实用数据结构、几何问题、图论算法与模型以及更多算法专题。全书通过206道例题深入浅出地介绍了上述领域的各个知识点、经典思维方式以及程序实现的常见方法和技巧,并在章末给出了丰富的分类习题,供读者查漏补缺和强化学习效果。
    本书题目多选自近年来ACM/ICPC区域赛和总决赛真题,内容全面,信息量大,覆盖了常见算法竞赛中的大多数细分知识点。书中还给出了所有重要的经典算法的完整程序,以及重要例题的核心代码,既适合选手自学,也方便院校和培训机构组织学生学习和训练。

目录

第1章  算法设计基础
  1.1  思维的体操
  1.2  问题求解常见策略
  1.3  高效算法设计举例
  1.4  动态规划专题
  1.5  小结与习题
    1.5.1  问题求解策略
    1.5.2  高效算法设计
    1.5.3  动态规划
第2章  数学基础
  2.1  基本计数方法
  2.2  递推关系
  2.3  数论
    2.3.1  基本概念
    2.3.2  模方程
    2.3.3  线性筛
    2.3.4  积性函数与莫比乌斯反演
    2.3.5  筛法求解积性函数
  2.4  组合游戏
  2.5  概率与数学期望
  2.6  置换及其应用
  2.7  矩阵和线性方程组
  2.8  快速傅里叶变换(FFT)
  2.9  数值方法
  2.10  小结与习题
    2.10.1  组合计数
    2.10.2  数论
    2.10.3  组合游戏
    2.10.4  概率
    2.10.5  置换
    2.10.6  矩阵与线性方程组
    2.10.7  快速傅里叶变换(FFT)
    2.10.8  数值方法
第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.4.4  回文的Manacher算法
  3.5  字符串(3)
    3.5.1  后缀自动机的性质
    3.5.2  后缀链接树(Suffix Link Tree)
    3.5.3  后缀自动机的构造算法
  3.6  排序二叉树
    3.6.1  基本概念
    3.6.2  用Treap实现名次树
    3.6.3  用伸展树实现可分裂与合并的序列
  3.7  树的经典问题与方法
  3.8  动态树与LCT
  3.9  离线算法
  3.10  kd-Tree
  3.11  可持久化数据结构
  3.12  小结与习题
    3.12.1  基础数据结构
    3.12.2  区间信息维护
    3.12.3  字符串算法
    3.12.4  排序二叉树
    3.12.5  树的经典问题与方法
    3.12.6  动态树与LCT
    3.12.7  离线算法
    3.12.8  kd-Tree
    3.12.9  可持久化数据结构
第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  小结与习题
    4.5.1  基础题目
    4.5.2  二维几何计算
    4.5.3  几何算法
    4.5.4  三维几何
第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  小结与习题
    5.7.1  基础知识和算法
    5.7.2  DFS及其应用
    5.7.3  最短路及其应用
    5.7.4  最小生成树
    5.7.5  二分图匹配
    5.7.6  网络流
第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  线性规划
  6.6  浅谈代码设计与静态查错
    6.6.1  简单的Bash
    6.6.2  《仙剑奇侠传四》之最后的战役
  6.7  小结与习题
    6.7.1  轮廓线上的动态规划
    6.7.2  数据结构综合应用
    6.7.3  暴力法
    6.7.4  几何专题
    6.7.5  数学专题
    6.7.6  代码组织与调试
附录 Java、C#和Python语言简介
主要参考书目