计算机常用算法与程序设计案例教程(第2版) / 高等学校计算机专业教材精选·算法与程序设计
¥39.00定价
作者: 杨克昌
出版时间:2014年12月
出版社:清华大学出版社
- 清华大学出版社
- 9787302382942
- 2-1
- 158543
- 16开
- 2014年12月
- 工学
- 计算机科学与技术
- TP312.8
- 计算机
- 本专科、高职高专
目录
第1章 算法与程序设计概述
1.1 算法及其描述
1.1.1 算法定义
1.1.2 算法描述
1.2 算法的复杂性分析
1.2.1 时间复杂度
1.2.2 空间复杂度
1.3 算法设计与分析示例
1.3.1 求解最大公约数
1.3.2 拆分为连续正整数之和
1.3.3 统计n!尾部零
1.4 算法与程序设计
1.4.1 算法与程序
1.4.2 结构化程序设计
习题1
第2章 枚举
2.1 枚举概述
2.2 统计与求和
2.2.1 全素组
2.2.2 最简真分数
2.3 解方程
2.3.1 佩尔方程
2.3.2 超越方程
2.4 解不等式
2.4.1 分数不等式
2.4.2 代数和不等式
2.5 求最值
2.5.1 基于素数的代数和
2.5.2 整数的因数比
2.6 数组与序列
2.6.1 双和二组
2.6.2 和积三组
2.6.3 双码二部数序列
2.7 数式探求
2.7.1 逆序乘积式
2.7.2 完美综合式
2.8 趣味数阵
2.8.1 素数幻方
2.8.2 和积三角形
2.9 枚举应用小结
习题2
第3章 递推
3.1 递推概述
3.1.1 递推算法
3.1.2 递推实施步骤与描述
3.2 超级素数搜索
3.3 递推数列
3.3.1 摆动数列
3.3.2 分数数列
3.4 幂序列
3.4.1 双幂序列
3.4.2 幂积序列
3.5 数阵与网格
3.5.1 杨辉三角
3.5.2 交通方格网
3.6 整数划分问题
3.6.1 整数划分递推设计
3.6.2 整数划分递推优化
3.7 水手分椰子问题
3.7.1 5个水手分椰子
3.7.2 n个水手分椰子
3.8 猴子爬山
3.8.1 简单案例的具体递推
3.8.2 一般情形的分级递推
3.9 递推应用小结
习题3
第4章 递归
4.1 递归概述
4.2 排队购票
4.3 汉诺塔问题
4.3.1 求移动次数
4.3.2 展示移动过程
4.4 旋转数阵
4.4.1 双转向旋转方阵
4.4.2 m行n列顺转矩阵
4.5 快速排序与选择
4.5.1 快速排序
4.5.2 分区交换选择
4.6 排列组合的实现
4.6.1 实现排列
4.6.2 实现组合
4.6.3 复杂排列
4.7 整数的拆分
4.7.1 拆分零数取自连续区间
4.7.2 拆分零数取自指定整数
4.8 递归应用小结
习题4
第5章 回溯法
5.1 回溯法概述
5.1.1 回溯的概念
5.1.2 回溯描述
5.2 桥本分数式
5.2.1 桥本分数式
5.2.2 10数字分数式
5.3 直尺与串珠
5.3.1 古尺神奇
5.3.2 数码串珠
5.4 逐位整除数
5.5 环序列
5.5.1 素数和环
5.5.2 德布鲁金环
5.6 伯努利装错信封问题
5.6.1 装错信封问题
5.6.2 特殊错位探索
5.7 别出心裁的情侣拍照问题
5.7.1 逐位安排与回溯
5.7.2 成对安排与回溯
5.8 回溯应用小结
习题5
第6章 动态规划
6.1 动态规划概述
6.1.1 动态规划的概念
6.1.2 动态规划实施步骤
6.2 最长子序列探索
6.2.1 最长非降子序列
6.2.2 最长公共子序列
6.3 最优路径搜索
6.3.1 点数值三角形的最优路径
6.3.2 边数值矩形的最优路径
6.4 装载问题
6.5 0-1背包问题
6.5.1 一般0-1背包问题
6.5.2 二维约束0-1背包问题
6.6 凸n边形的三角形划分
6.7 插入乘号问题
6.8 动态规划应用小结
习题6
第7章 贪心算法
7.1 贪心算法概述
7.2 删数字问题
7.3 埃及分数式
7.3.1 选择最小分母构建
7.3.2 贪心选择范围的扩展
7.4 可拆背包问题
7.5 数列操作与极差
7.5.1 数列操作
7.5.2 数列操作优化
7.5.3 数列极差
7.6 哈夫曼树及其应用
7.6.1 哈夫曼树
7.6.2 哈夫曼编码
7.7 贪心算法应用小结
习题7
第8章 模拟
8.1 模拟概述
8.1.1 模拟分类
8.1.2 竖式运算模拟
8.2 乘数探求
8.2.1 积为若干个1构成
8.2.2 积为若干个2015构成
8.2.3 积的任意指定构成
8.3 尾数前移问题
8.3.1 限1位尾数前移
8.3.2 多位尾数前移
8.4 阶乘幂与排列组合数的计算
8.5 圆周率计算
8.5.1 蒙特卡罗模拟计算
8.5.2 指定高精度计算
8.6 漫步坐标系
8.7 模拟发桥牌
8.8 泊松分酒问题
8.9 模拟应用小结
习题8
第9章 算法的综合应用
9.1 高斯皇后问题
9.1.1 高斯八皇后问题
9.1.2 n皇后问题
9.1.3 皇后全控棋盘问题
9.2 翻转硬币游戏
9.2.1 翻转m×9矩阵
9.2.2 翻转m×n矩阵
9.2.3 大规模矩阵求解
9.3 最优复杂路径探索
9.3.1 矩阵迷宫中的最短通道
9.3.2 三角数阵中的最小路径
9.4 马步遍历与哈密顿圈
9.4.1 马步遍历
9.4.2 马步型哈密顿圈
9.4.3 组合型哈密顿圈
9.5 综合应用小结
习题9
附录A 部分习题求解要点
附录B 在Visual C++ 6.0环境下运行C程序方法简介
附录C C语言常用库函数
参考文献
1.1 算法及其描述
1.1.1 算法定义
1.1.2 算法描述
1.2 算法的复杂性分析
1.2.1 时间复杂度
1.2.2 空间复杂度
1.3 算法设计与分析示例
1.3.1 求解最大公约数
1.3.2 拆分为连续正整数之和
1.3.3 统计n!尾部零
1.4 算法与程序设计
1.4.1 算法与程序
1.4.2 结构化程序设计
习题1
第2章 枚举
2.1 枚举概述
2.2 统计与求和
2.2.1 全素组
2.2.2 最简真分数
2.3 解方程
2.3.1 佩尔方程
2.3.2 超越方程
2.4 解不等式
2.4.1 分数不等式
2.4.2 代数和不等式
2.5 求最值
2.5.1 基于素数的代数和
2.5.2 整数的因数比
2.6 数组与序列
2.6.1 双和二组
2.6.2 和积三组
2.6.3 双码二部数序列
2.7 数式探求
2.7.1 逆序乘积式
2.7.2 完美综合式
2.8 趣味数阵
2.8.1 素数幻方
2.8.2 和积三角形
2.9 枚举应用小结
习题2
第3章 递推
3.1 递推概述
3.1.1 递推算法
3.1.2 递推实施步骤与描述
3.2 超级素数搜索
3.3 递推数列
3.3.1 摆动数列
3.3.2 分数数列
3.4 幂序列
3.4.1 双幂序列
3.4.2 幂积序列
3.5 数阵与网格
3.5.1 杨辉三角
3.5.2 交通方格网
3.6 整数划分问题
3.6.1 整数划分递推设计
3.6.2 整数划分递推优化
3.7 水手分椰子问题
3.7.1 5个水手分椰子
3.7.2 n个水手分椰子
3.8 猴子爬山
3.8.1 简单案例的具体递推
3.8.2 一般情形的分级递推
3.9 递推应用小结
习题3
第4章 递归
4.1 递归概述
4.2 排队购票
4.3 汉诺塔问题
4.3.1 求移动次数
4.3.2 展示移动过程
4.4 旋转数阵
4.4.1 双转向旋转方阵
4.4.2 m行n列顺转矩阵
4.5 快速排序与选择
4.5.1 快速排序
4.5.2 分区交换选择
4.6 排列组合的实现
4.6.1 实现排列
4.6.2 实现组合
4.6.3 复杂排列
4.7 整数的拆分
4.7.1 拆分零数取自连续区间
4.7.2 拆分零数取自指定整数
4.8 递归应用小结
习题4
第5章 回溯法
5.1 回溯法概述
5.1.1 回溯的概念
5.1.2 回溯描述
5.2 桥本分数式
5.2.1 桥本分数式
5.2.2 10数字分数式
5.3 直尺与串珠
5.3.1 古尺神奇
5.3.2 数码串珠
5.4 逐位整除数
5.5 环序列
5.5.1 素数和环
5.5.2 德布鲁金环
5.6 伯努利装错信封问题
5.6.1 装错信封问题
5.6.2 特殊错位探索
5.7 别出心裁的情侣拍照问题
5.7.1 逐位安排与回溯
5.7.2 成对安排与回溯
5.8 回溯应用小结
习题5
第6章 动态规划
6.1 动态规划概述
6.1.1 动态规划的概念
6.1.2 动态规划实施步骤
6.2 最长子序列探索
6.2.1 最长非降子序列
6.2.2 最长公共子序列
6.3 最优路径搜索
6.3.1 点数值三角形的最优路径
6.3.2 边数值矩形的最优路径
6.4 装载问题
6.5 0-1背包问题
6.5.1 一般0-1背包问题
6.5.2 二维约束0-1背包问题
6.6 凸n边形的三角形划分
6.7 插入乘号问题
6.8 动态规划应用小结
习题6
第7章 贪心算法
7.1 贪心算法概述
7.2 删数字问题
7.3 埃及分数式
7.3.1 选择最小分母构建
7.3.2 贪心选择范围的扩展
7.4 可拆背包问题
7.5 数列操作与极差
7.5.1 数列操作
7.5.2 数列操作优化
7.5.3 数列极差
7.6 哈夫曼树及其应用
7.6.1 哈夫曼树
7.6.2 哈夫曼编码
7.7 贪心算法应用小结
习题7
第8章 模拟
8.1 模拟概述
8.1.1 模拟分类
8.1.2 竖式运算模拟
8.2 乘数探求
8.2.1 积为若干个1构成
8.2.2 积为若干个2015构成
8.2.3 积的任意指定构成
8.3 尾数前移问题
8.3.1 限1位尾数前移
8.3.2 多位尾数前移
8.4 阶乘幂与排列组合数的计算
8.5 圆周率计算
8.5.1 蒙特卡罗模拟计算
8.5.2 指定高精度计算
8.6 漫步坐标系
8.7 模拟发桥牌
8.8 泊松分酒问题
8.9 模拟应用小结
习题8
第9章 算法的综合应用
9.1 高斯皇后问题
9.1.1 高斯八皇后问题
9.1.2 n皇后问题
9.1.3 皇后全控棋盘问题
9.2 翻转硬币游戏
9.2.1 翻转m×9矩阵
9.2.2 翻转m×n矩阵
9.2.3 大规模矩阵求解
9.3 最优复杂路径探索
9.3.1 矩阵迷宫中的最短通道
9.3.2 三角数阵中的最小路径
9.4 马步遍历与哈密顿圈
9.4.1 马步遍历
9.4.2 马步型哈密顿圈
9.4.3 组合型哈密顿圈
9.5 综合应用小结
习题9
附录A 部分习题求解要点
附录B 在Visual C++ 6.0环境下运行C程序方法简介
附录C C语言常用库函数
参考文献