编辑推荐
内容简介
《大学程序设计课程与竞赛训练教材:算法设计编程实验》以知识体系结构、思维方式与解题策略为主线,分8章分别介绍AdHoc、模拟法、数论、组合分析、贪心法、动态规划方法、高级数据结构、计算几何的编程实验。每个章节由实验范例和题库两个部分组成,试题全部选自ACM国际大学生程序设计竞赛以及其他各类程序设计竞赛,共234题(3题为一题多解),并给出了试题来源和在线测试地址。每个实验范例都有详尽的试题解析和标有注释的参考程序,而题库中的所有试题无论难易,都有清晰的提示。另外,华章网站中还给出了《大学程序设计课程与竞赛训练教材:算法设计编程实验》所有试题的英文原版描述和大部分试题的测试数据。
《大学程序设计课程与竞赛训练教材:算法设计编程实验》既可以作为大专院校计算机专业算法课程的教材,也可以作为计算机专业学生的研修资料和程序设计竞赛的培训教材。
目录
前言
第1章 求解Ad Hoc类问题的编程实验
1.1 机理分析法的实验范例
1.2 统计分析法的实验范例
1.3 相关题库
第2章 模拟法的编程实验
2.1 直叙式模拟的实验范例
2.2 筛选法模拟的实验范例
2.3 构造法模拟的实验范例
2.4 相关题库
第3章 数论的编程实验
3.1 素数运算的实验范例
3.1.1 使用筛法生成素数的实验范例
3.1.2 测试大素数的实验范例
3.2 求解不定方程和同余方程的实验范例
3.2.1 计算最大公约数和不定方程
3.2.2 计算同余方程和同余方程组
3.3 积性函数的实验范例
3.3.1 使用欧拉函数φ(n)计算与n互质的正整数个数
3.3.2 使用莫比乌斯函数μ(n)计算非平方数n的质因子个数
3.4 相关题库
第4章 组合分析的编程实验
4.1 生成排列组合的实验范例
4.1.1 按字典序思想生成下一排列组合
4.1.2 按字典序思想生成所有的排列组合
4.2 排列组合计数的实验范例
4.2.1 一般的排列组合计数公式
4.2.2 两种特殊的排列组合计数公式
4.3 容斥原理与抽屉原理的实验范例
4.3.1 利用抽屉原理求解存在性问题
4.3.2 利用容斥原理对并集计数
4.4 波利亚定理的实验范例
4.4.1 波利亚定理的概念基础
4.4.2 利用波利亚定理计算集合在置换群作用下产生的等价类个数
4.5 相关题库
第5章 贪心法的编程实验
5.1 体验贪心法内涵的实验范例
5.2 利用数据有序化进行贪心选择的实验范例
5.3 在综合性的P类问题中使用贪心法的实验范例
5.4 相关题库
第6章 动态规划(DP)方法的编程实验
6.1 线性DP的实验范例
6.1.1 初步体验线性DP问题
6.1.2 子集和问题
6.1.3 最长公共子序列问题
6.1.4 最长递增子序列问题
6.2 树形DP的实验范例
6.3 状态压缩DP的实验范例
6.4 单调优化1D/1D DP的实验范例
6.4.1 经典模型1:利用决策代价函数w的单调性优化
6.4.2 经典模型2:利用决策区间下界的单调性优化
6.4.3 经典模型3:利用最优决策点的凸性优化
6.5 相关题库
第7章 高级数据结构的编程实验
7.1 后缀数组的实验范例
7.1.1 使用倍增算法计算名次数组和后缀数组
7.1.2 计算最长公共前缀
7.1.3 后缀数组的应用
7.2 线段树的实验范例
7.2.1 线段树的基本概念和基本操作
7.2.2 线段树单点更新的维护
7.2.3 线段树子区间更新的维护
7.3 处理特殊图的实验范例
7.3.1 计算欧拉图
7.3.2 计算哈密尔顿图
7.3.3 计算最大独立集
7.3.4 计算割点、桥和双连通分支
7.4 相关题库
第8章 计算几何的编程实验
8.1 点线面运算的实验范例
8.1.1 计算点积和叉积
8.1.2 计算线段交
8.1.3 利用欧拉公式计算多面体
8.2 利用扫描线算法计算矩形的面积并
8.2.1 沿垂直方向计算矩形的面积并
8.2.2 沿水平方向计算矩形的面积并
8.3 计算半平面交的实验范例
8.3.1 计算半平面交的联机算法
8.3.2 利用极角计算半平面交的算法
8.4 计算凸包和旋转卡壳的实验范例
8.4.1 计算凸包
8.4.2 旋转卡壳实验
8.5 相关题库
……
前言/序言
大学程序设计课程与竞赛训练教材:算法设计编程实验 下载 mobi epub pdf txt 电子书 格式