当前位置:首页 > 工业技术
计算机常用算法与程序设计案例教程  第2版
计算机常用算法与程序设计案例教程  第2版

计算机常用算法与程序设计案例教程 第2版PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:杨克昌编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302382942
  • 页数:324 页
图书介绍:本书遵循“精选案例,面向设计,深入浅出,注重能力培养”的要求,以“案例”形式实现“算法与程序设计”教学。本书精选枚举、递推、递归、回溯、动态规划、贪心算法与模拟等常用算法,精选各算法求解的典型案例,注重算法设计与程序实现,注重算法改进与程序优化,力求理论与实际相结合,算法与程序相统一。
《计算机常用算法与程序设计案例教程 第2版》目录

第1章 算法与程序设计概述 1

1.1 算法及其描述 1

1.1.1 算法定义 1

1.1.2 算法描述 3

1.2 算法的复杂性分析 7

1.2.1 时间复杂度 7

1.2.2 空间复杂度 12

1.3 算法设计与分析示例 13

1.3.1 求解最大公约数 13

1.3.2 拆分为连续正整数之和 15

1.3.3 统计n!尾部零 17

1.4 算法与程序设计 19

1.4.1 算法与程序 19

1.4.2 结构化程序设计 23

习题1 26

第2章 枚举 28

2.1 枚举概述 28

2.2 统计与求和 29

2.2.1 全素组 30

2.2.2 最简真分数 32

2.3 解方程 33

2.3.1 佩尔方程 33

2.3.2 超越方程 35

2.4 解不等式 37

2.4.1 分数不等式 37

2.4.2 代数和不等式 38

2.5 求最值 41

2.5.1 基于素数的代数和 41

2.5.2 整数的因数比 43

2.6 数组与序列 44

2.6.1 双和二组 44

2.6.2 和积三组 46

2.6.3 双码二部数序列 47

2.7 数式探求 50

2.7.1 逆序乘积式 50

2.7.2 完美综合式 51

2.8 趣味数阵 55

2.8.1 素数幻方 55

2.8.2 和积三角形 58

2.9 枚举应用小结 60

习题2 65

第3章 递推 66

3.1 递推概述 66

3.1.1 递推算法 66

3.1.2 递推实施步骤与描述 67

3.2 超级素数搜索 69

3.3 递推数列 72

3.3.1 摆动数列 72

3.3.2 分数数列 73

3.4 幂序列 75

3.4.1 双幂序列 75

3.4.2 幂积序列 76

3.5 数阵与网格 82

3.5.1 杨辉三角 82

3.5.2 交通方格网 84

3.6 整数划分问题 86

3.6.1 整数划分递推设计 86

3.6.2 整数划分递推优化 88

3.7 水手分椰子问题 90

3.7.1 5个水手分椰子 90

3.7.2 n个水手分椰子 93

3.8 猴子爬山 94

3.8.1 简单案例的具体递推 95

3.8.2 一般情形的分级递推 95

3.9 递推应用小结 97

习题3 99

第4章 递归 101

4.1 递归概述 101

4.2 排队购票 104

4.3 汉诺塔问题 106

4.3.1 求移动次数 106

4.3.2 展示移动过程 107

4.4 旋转数阵 109

4.4.1 双转向旋转方阵 109

4.4.2 m行n列顺转矩阵 111

4.5 快速排序与选择 114

4.5.1 快速排序 114

4.5.2 分区交换选择 117

4.6 排列组合的实现 119

4.6.1 实现排列A(n,m) 119

4.6.2 实现组合C(n,m) 121

4.6.3 复杂排列 123

4.7 整数的拆分 125

4.7.1 拆分零数取自连续区间 126

4.7.2 拆分零数取自指定整数 127

4.8 递归应用小结 129

习题4 132

第5章 回溯法 133

5.1 回溯法概述 133

5.1.1 回溯的概念 133

5.1.2 回溯描述 133

5.2 桥本分数式 137

5.2.1 桥本分数式 138

5.2.2 10数字分数式 140

5.3 直尺与串珠 141

5.3.1 古尺神奇 141

5.3.2 数码串珠 144

5.4 逐位整除数 146

5.5 环序列 149

5.5.1 素数和环 150

5.5.2 德布鲁金环 151

5.6 伯努利装错信封问题 154

5.6.1 装错信封问题 154

5.6.2 特殊错位探索 157

5.7 别出心裁的情侣拍照问题 159

5.7.1 逐位安排与回溯 159

5.7.2 成对安排与回溯 161

5.8 回溯应用小结 163

习题5 166

第6章 动态规划 167

6.1 动态规划概述 167

6.1.1 动态规划的概念 167

6.1.2 动态规划实施步骤 168

6.2 最长子序列探索 169

6.2.1 最长非降子序列 169

6.2.2 最长公共子序列 172

6.3 最优路径搜索 175

6.3.1 点数值三角形的最优路径 175

6.3.2 边数值矩形的最优路径 177

6.4 装载问题 180

6.5 0-1背包问题 183

6.5.1 一般0-1背包问题 184

6.5.2 二维约束0-1背包问题 188

6.6 凸n边形的三角形划分 190

6.7 插入乘号问题 193

6.8 动态规划应用小结 195

习题6 198

第7章 贪心算法 200

7.1 贪心算法概述 200

7.2 删数字问题 202

7.3 埃及分数式 205

7.3.1 选择最小分母构建 205

7.3.2 贪心选择范围的扩展 207

7.4 可拆背包问题 208

7.5 数列操作与极差 209

7.5.1 数列操作 210

7.5.2 数列操作优化 211

7.5.3 数列极差 212

7.6 哈夫曼树及其应用 215

7.6.1 哈夫曼树 215

7.6.2 哈夫曼编码 217

7.7 贪心算法应用小结 221

习题7 222

第8章 模拟 224

8.1 模拟概述 224

8.1.1 模拟分类 224

8.1.2 竖式运算模拟 227

8.2 乘数探求 229

8.2.1 积为若干个1构成 229

8.2.2 积为若干个2015构成 230

8.2.3 积的任意指定构成 231

8.3 尾数前移问题 233

8.3.1 限1位尾数前移 233

8.3.2 多位尾数前移 235

8.4 阶乘幂与排列组合数的计算 236

8.5 圆周率计算 238

8.5.1 蒙特卡罗模拟计算 238

8.5.2 指定高精度计算 239

8.6 漫步坐标系 241

8.7 模拟发桥牌 244

8.8 泊松分酒问题 247

8.9 模拟应用小结 250

习题8 251

第9章 算法的综合应用 253

9.1 高斯皇后问题 253

9.1.1 高斯八皇后问题 253

9.1.2 n皇后问题 255

9.1.3 皇后全控棋盘问题 259

9.2 翻转硬币游戏 263

9.2.1 翻转m×9矩阵 263

9.2.2 翻转m×n矩阵 266

9.2.3 大规模矩阵求解 270

9.3 最优复杂路径探索 273

9.3.1 矩阵迷宫中的最短通道 273

9.3.2 三角数阵中的最小路径 277

9.4 马步遍历与哈密顿圈 280

9.4.1 马步遍历 280

9.4.2 马步型哈密顿圈 287

9.4.3 组合型哈密顿圈 292

9.5 综合应用小结 299

习题9 300

附录A 部分习题求解要点 301

附录B 在Visual C++ 6.0环境下运行C程序方法简介 315

附录C C语言常用库函数 320

参考文献 324

相关图书
作者其它书籍
返回顶部