算法艺术与信息学竞赛
内容简介:
《算法艺术与信息学竞赛》较为系统和全面地介绍了算法学最基本的知识。这些知识和技巧既是高等院校“算法与数据结构”课程的主要内容,也是国际青少年信息学奥林匹克(IOI)竞赛和ACM/ICPC国际大学生程序设计竞赛中所需要的。书中分析了相当数量的问题。 本书共3章。第1章介绍算法与数据结构;第2章介绍数学知识和方法;第3章介绍计算机几何。全书内容丰富,分析透彻,启发性强,既适合读者自学,也适合于课堂讲授。 本书适用于各个层次的信息学爱好者、参赛选手、辅导老师和高等院校计算机专业的师生。本书既是信息学入门和提高的好帮手,也是一本内容丰富、新颖的资料集。
目录:
目 录 第1章算法与数据结构 1.1编程的灵魂--数据结构+算法=程序 1.2基本算法 1.2.1枚举 1.2.2贪心法 1.2.3递归与分治法 1.2.4递推 1.3数据结构(1)--入门 1.3.1栈和队列 1.3.2串 1.3.3树和二叉树 1.3.4力瘃其基本算法 1.3.5排序与检索基本算法 1.4数据结构(2)--拓宽和应用举例 1.4.1并查集 1.4.2堆及其变种 1.4.3字典的两种实现方式:哈希表.二叉搜索树 1.4.4两个特殊树结构:线段树和Trie 1.5动态规划 1.5.1动态规划的两种动机 1.5.2常见模型的分析 1.5.3若干经典问题和常见优化方法 1.6状态空间搜索 1.6.1状态空间 1.6.2盲目搜索算法 1.6.3启发式搜索算法 1.6.4博弈问题算法 1.6.5剪枝 *1.6.6专题:路径寻找问题 *1.6.7约束满足问题 第2章数学方法与常见模型 2.1代数方法和模型 2.2数论基础 2.2.1素数和整除问题 2.2.2进位制 2.2.3同余模算术 2.3组合数学初步 2.3.1鸽笼原理和Ramsey定理 2.3.2排列组合和容斥原理 2.3.3群论与Polya定理 2.3.4递推关系与生成函数 2.3.5离散变换与反演 2.4图论基本知识和算法 2.4.1基本概念和定理 2.4.2可行遍性问题简介 2.4.3平面图 2.4.4图的基本算法与应用举例 2.5图论基本算法 2.5.1生成树问题 2.5.2最短路问题 2.5.3网络流问题 2.5.4二分图相关问题和模型 第3章计算机几何初步 3.1位置和方向的世界--计算机几何的基本问题 3.1.1从相交到左右--基本问题的转化 3.1.2左右和前后--叉积和点积 3.2多边形和多面体的相关问题 3.2.1卫兵问题--多边形和多面体的概念 3.2.2求多边形.多面体的容积和重心,高维情形 3.2.3判点在形内形外形上,多面体的情形 3.3打包裹与制造合金--凸包及其应用 3.3.1凸包的普遍性和广泛应用性,凸的定义与优美性质 3.3.2凸包的实现 3.3.3凸包算法正确性与时间效率 3.3.4应用举例 3.3.5凸多边形的深入讨论 3.4几种常用的特殊算法 3.4.1蛋糕被切成几块?--离散化法 3.4.2切蛋糕的周长和面积--扫除法 3.4.3凸包与快速排序--分治法 3.4.4凸包的又一种求法--增量法 3.4.5专题--随机增量算法 参考文献
评论