21世纪高等教育计算机规划教材

计算机常用算法与程序设计教程(第2 版)

普通高等教育“十一五”国家级规划教材《计算机常用算法与程序设计教程》结合高校计算机教学实际与应用需求,
分享 推荐 1 收藏 30 阅读 2.6K
杨克昌 (作者) 978-7-115-45591-8

关于本书的内容有任何问题,请联系 张孟玮

本书突出以下4个注重。
(1) 注重常用算法的选取与组织。
(2) 注重典型案例的精选与提炼。
(3) 注重算法设计与程序实现的紧密结合。
(4) 注重算法改进与程序优化。

内容摘要

本书遵循“精选案例,深入浅出,面向设计,注重能力培养”的要求,系统讲述枚举、递推、递归、回溯法、动态规划、贪心算法、分支限界法与模拟等常用算法及其应用。精选各算法设计求解的典型案例,从案例提出到算法设计、从程序实现到复杂度分析,环环相扣,融为一体,力求算法理论与实践应用相结合、算法与程序相统一,突出算法在程序设计中的核心地位与引导作用。
书中所有案例给出算法设计要点与完整的C程序代码,并给出程序运行示例(均在Visual C++ 6.0编译通过)与算法分析。为方便教学,每章都附有习题,同时推出与本书配套的课件供教学选用。书中所有源代码、部分习题解答提示与配套课件均可从人邮教育社区(http://www.ryjiaoyu.com)下载。
本书可作为高等院校计算机相关专业“算法设计与分析”和“程序设计基础与应用”等课程的教材,也可供软件设计人员和程序设计爱好者学习参考。

目录

第 1章 算法与程序设计概述 1
1.1 算法概念与描述 1
1.1.1 算法概念 1
1.1.2 算法描述 3
1.2 算法复杂性分析 6
1.2.1 时间复杂度 7
1.2.2 空间复杂度 12
1.3 算法设计与分析示例 12
1.3.1 **大公约数 12
1.3.2 同码小数和 13
1.3.3 平方根不等式 15
1.4 算法与程序设计 16
1.4.1 算法与程序 16
1.4.2 结构化程序设计 20
习题1 22
第 2章 枚举 24
2.1 枚举概述 24
2.2 求和与统计 26
2.2.1 求代数和 26
2.2.2 倍和数探索 26
2.3 整数搜索 31
2.3.1 探求p-完全数 31
2.3.2 搜索合数世纪 32
2.4 解方程与不等式 33
2.4.1 解佩尔方程 33
2.4.2 解分式不等式 35
2.5 分解与重组 35
2.5.1 质因数分解 36
2.5.2 探索双和3元2组 38
2.6 运算数式构建 39
2.6.1 探索综合运算式 39
2.6.2 构建对称数式 42
2.7 数阵与图形 46
2.7.1 探求3阶素数幻方 46
2.7.2 构建和积三角形 49
2.8 枚举设计优化 51
2.8.1 优化枚举结构 51
2.8.2 精简枚举参数 52
习题2 54
第3章 递推 56
3.1 递推概述 56
3.2 超级素数搜索 58
3.3 裴波那契序列与卢卡斯序列 62
3.4 多关系递推 63
3.4.1 双幂序列 63
3.4.2 双关系递推数列 65
3.4.3 威佐夫数对序列 67
3.5 数阵与网格 68
3.5.1 构建杨辉三角 68
3.5.2 方格网交通线路 70
3.6 水手分椰子 71
3.6.1 5个水手分椰子 72
3.6.2 探求n个水手分椰子 75
3.7 整币兑零 76
3.7.1 特定零币兑零 76
3.7.2 一般零币兑零 78
3.8 递推小结 80
习题3 81
第4章 递归 83
4.1 递归概述 83
4.2 购票排队 86
4.3 汉诺塔游戏 87
4.3.1 计算移动次数 88
4.3.2 展示移动过程 89
4.4 双转向旋转方阵 90
4.5 分区交换排序与选择 93
4.5.1 分区交换排序 93
4.5.2 分区交换选择 96
4.6 排列组合实现 97
4.6.1 实现排列A(n,m) 98
4.6.2 实现组合C(n,m) 99
4.7 整数拆分 102
4.7.1 零数取自指定区间 102
4.7.2 零数取自指定整数集 104
4.8 递归小结 105
习题4 108
第5章 回溯法 110
5.1 回溯法概述 110
5.1.1 回溯概念 110
5.1.2 回溯描述 111
5.2 桥本分数式 114
5.2.1 9数字桥本分数式 115
5.2.2 探求10数字分数式 119
5.3 素数和环 120
5.4 直尺与数珠 124
5.4.1 神奇古尺 124
5.4.2 数码串珠 126
5.5 错位排列探索 128
5.5.1 伯努利装错信封问题 128
5.5.2 特殊错位排列 130
5.6 情侣拍照排列 132
5.6.1 逐位回溯 132
5.6.2 成对回溯 134
5.7 回溯法小结 136
习题5 138
第6章 动态规划 139
6.1 动态规划概述 139
6.1.1 动态规划概念 139
6.1.2 动态规划设计规范 141
6.2 0-1背包问题 141
6.3 **小子段和 145
6.3.1 序列**小子段 145
6.3.2 环序列**小子段 147
6.4 **优插入乘号 151
6.5 **长子序列探索 153
6.5.1 **长非降子序列 153
6.5.2 **长公共子序列 156
6.6 凸形的三角形划分 158
6.7 动态规划小结 161
习题6 161
第7章 贪心算法 163
7.1 贪心算法概述 163
7.2 删数字**值问题 164
7.3 可拆背包问题 167
7.4 构建埃及分数式 168
7.4.1 优先选择**小分母 169
7.4.2 扩展分母选择范围 170
7.5 数列压缩问题 172
7.5.1 数列压缩的**大值 172
7.5.2 数列压缩的极差 174
7.6 哈夫曼树与编码 176
7.6.1 构建哈夫曼树 176
7.6.2 实现哈夫曼编码 179
7.7 贪心算法小结 182
习题7 183
第8章 分支限界法 185
8.1 分支限界法概述 185
8.2 搜索迷宫**短通道 187
8.2.1 矩阵迷宫 187
8.2.2 三角迷宫 191
8.3 装载问题 194
8.3.1 回溯设计 194
8.3.2 分支限界设计 196
8.4 0-1背包问题 198
8.5 8数码游戏 201
8.5.1 移动常规设计 201
8.5.2 数组优化设计 206
8.6 分支限界法小结 209
习题8 210
第9章 模拟 211
9.1 模拟概述 211
9.1.1 模拟概念 211
9.1.2 竖式乘除模拟 214
9.2 探求乘数 216
9.2.1 积为“1”构成 216
9.2.2 积为指定数构成 217
9.3 尾数前移问题 218
9.3.1 尾数限一个数字 218
9.3.2 尾数为多位数 220
9.4 阶乘幂与排列组合计算 222
9.5 圆周率高精度计算 223
9.6 模拟发扑克牌 226
9.7 泊松分酒问题 228
9.8 模拟小结 231
习题9 232
第 10章 算法综合应用与优化 233
10.1 幂积序列 233
10.1.1 双幂积探索 233
10.1.2 探讨3幂积序列 237
10.2 指定码串积 240
10.2.1 探求0-1串积 240
10.2.2 指定2码串积 243
10.2.3 指定多码串积 245
10.3 皇后问题 247
10.3.1 高斯8后问题 247
10.3.2 探索n皇后问题 249
10.3.3 皇后全控棋盘 252
10.4 马步遍历与哈密顿圈 255
10.4.1 马步遍历探索 255
10.4.2 **长马步路径 258
10.4.3 马步型哈密顿圈 262
10.5 综合应用小结 266
习题10 267
附录A 在Visual C++6.0环境下运行C程序方法简介 268
附录B C语言常用库函数 272
参考文献 276

读者评论

  • 资源很全,给个大大的赞♥

    Young Yang发表于 2018/1/19 10:52:56

我要评论

作者介绍

杨克昌:湖南理工学院计算机学院教授,长年从事教学改革并取得校级与省级教学成果奖多项,对本科有关算法与程序设计的教学目标、教学要求与学生的实际非常熟悉,教学经验丰富。编写过教材:C语言程序设计、计算机程序设计经典题解、趣味C程序设计集锦、趣味Visual FoxPro程序设计集锦、至美—C程序设计、计算机常用算法与程序设计教程。

推荐用户

同系列书

  • Access数据库实用教程习题与实验指导(微课版 第3版)

    郑小玲 主编 张宏 卢山 旷野 编著

    本书是《Access数据库实用教程(微课版 第3版)》一书的配套教材,全书分为“习题解析篇”“实验指导篇”“实...

    ¥49.80
  • Access数据库实用教程(微课版 第3版)

    郑小玲 主编 张宏 卢山 旷野 编著

    本书以应用为目的,以案例为引导,系统地介绍了Access 2016的主要功能和使用方法。全书共有9章,包括Ac...

    ¥59.80
  • Access 数据库应用教程

    李军

    本书主要内容包括数据库基础知识、Access数据库概述、Access数据库的基本操作、表结构的设计、查询设计、...

    ¥45.00
  • Access 2010数据库教程(微课版)

    苏林萍

    本书通过“学生成绩管理”数据库案例,从建立Access 2010空数据库开始,逐步建立数据库中的表、查询、窗体...

    ¥49.80
  • 计算机网络基础

    何凯霖、陈轲

    本书内容丰富,结构合理,按照传统的网络体系结构进行讲解。共分8章,分别是第1章 计算机网络概述,第2章 物理层...

    ¥39.80

相关图书

  • Java基础案例教程(第3版)

    本书为Java基础入门教材,适合初学者使用。全书共13章,第1~2章主要讲解Java技术的一些基础知识,内容包...

    ¥59.80
  • Python快速编程入门(第3版)

    本书以PyCharm为主要开发工具,采用理论与实训案例相结合的编写方式,系统地讲解Python的相关知识。本书...

    ¥59.80
  • Python编程基础(项目式微课版)

    王健

    本书根据高等院校应用技术型人才培养的目标编写,适合案例学习和模块化教学相结合的教学方式。本书以真实企业开发案例...

    ¥56.00
  • 数据库原理(微课版)

    郭玉彬 宋歌 边山

    本书依据教育部《普通高等学校本科专业类教学质量国家标准》,以新工科背景下加快培养计算机类工程人才为目标,构建了...

    ¥69.80
  • 数据结构(C语言版)(第3版)

    李冬梅 严蔚敏

    本书在选材与编排上,贴近当前普通高等院校“数据结构”课程的现状和发展趋势,符合最新研究生考试大纲,内容难度适度...

    ¥59.80
人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部