当前位置:当前位置:主页 > 计算机电子书 > 算法 > 算法 pdf电子书
算法与程序设计

算法与程序设计 PDF 超清完整版

  • 更新:2022-09-07
  • 大小:39.5 MB
  • 类别:算法
  • 作者:杨建英
  • 出版:电子工业出版社
  • 格式:PDF

  • 资源介绍
  • 学习心得
  • 相关内容

算法与程序设计》是由电子工业出版社出版的一本关于算法方面的书籍,作者是杨建英,主要介绍了关于算法、程序设计方面的知识内容,目前在算法类书籍综合评分为:7.5分。

书籍介绍

内容简介

本书遵循“精选案例,面向设计,深入浅出,注重能力培养”的要求,以案例形式实现算法与程序设计教学,精选了穷举法、递推法、回溯法、分支限界法、递归法、分治法、贪心算法、动态规划法和随机算法等常用算法进行讲解,并给出了使用各算法求解的典型案例。对于每一个案例的求解,从问题提出到算法设计、从程序实现到算法复杂度分析,环环相扣,融为一体,力求理论与实际相结合、算法与程序相统一,突出算法在解决实际问题中的核心地位与引导作用。本书中的所有案例均给出算法设计要点与完整的C语言或者C++语言程序代码(均在VC++ 6.0上编译通过)。为方便教学,每章都附有习题,同时提供教学课件、习题答案、源代码等配套资源,读者可登录华信教育资源网免费下载使用。本书既可作为高等院校计算机专业相关课程的教材,也可供IT从业人员和计算机编程爱好者参考使用。

目录

  • 第1章算法与程序设计简介 1
  • 1.1初识算法 1
  • 1.1.1算法的基本概念 2
  • 1.1.2算法的描述 4
  • 1.1.3算法设计的步骤 7
  • 1.1.4算法的分类 8
  • 1.2算法复杂度分析 9
  • 1.2.1时间复杂度 9
  • 1.2.2空间复杂度 14
  • 1.2.3算法设计实例 15
  • 1.3程序设计简介 17
  • 1.3.1算法与程序 18
  • 1.3.2结构化程序设计 19
  • 1.3.3结构化程序设计实例 20
  • 习题 21
  • 第2章穷举法 23
  • 2.1穷举法概述 23
  • 2.1.1穷举法的基本思想 23
  • 2.1.2穷举法的实施步骤与算法描述 23
  • 2.2整数搜索 25
  • 2.2.1算24点游戏 25
  • 2.2.2韩信点兵 27
  • 2.2.3素数问题 28
  • 2.2.4约瑟夫环问题 29
  • 2.2.5火柴棒等式 30
  • 2.2.6三色旗问题 31
  • 2.2.7勾股数问题 32
  • 2.2.8猜价格游戏 33
  • 2.3分解与重组 35
  • 2.3.1水仙花数 35
  • 2.3.2回文数 35
  • 2.3.3完数 36
  • 2.4趣味数学 37
  • 2.4.1百钱买百鸡问题 37
  • 2.4.2搬砖问题 38
  • 2.4.3鸡兔同笼问题 38
  • 2.4.4数学灯谜 39
  • 2.5解方程与不等式 40
  • 2.5.1解二元一次方程 40
  • 2.5.2解完美立方式 40
  • 2.5.3解一元二次不等式 41
  • 2.6数阵与图形 42
  • 2.6.1杨辉三角形 42
  • 2.6.2输出各种图形 43
  • 2.7穷举设计的优化 45
  • 习题 47
  • 第3章递推法 48
  • 3.1递推法概述 48
  • 3.1.1递推法的基本思想 48
  • 3.1.2递推法的实施步骤与算法描述 49
  • 3.2递推数列 51
  • 3.2.1斐波那契数列和卢卡斯数列 51
  • 3.2.2分数数列 53
  • 3.2.3幂序列 53
  • 3.2.4双关系递推数列 54
  • 3.2.5储油点问题 56
  • 3.3递推数阵 57
  • 3.3.1累加和 57
  • 3.3.2阶乘问题 58
  • 3.3.3九九乘法表 58
  • 3.4递推的其他应用 59
  • 3.4.1猴子爬山问题 59
  • 3.4.2整币兑零问题 60
  • 3.4.3整数划分问题 61
  • 3.4.4汉诺塔问题 61
  • 3.4.5体重指数BMI 62
  • 3.4.6求π的近似值 63
  • 3.4.7求一元二次方程的根 63
  • 3.4.8求三角形的面积 64
  • 3.4.9存钱问题 65
  • 3.4.10求最大公约数和最小公倍数 66
  • 习题 67
  • 第4章回溯法 68
  • 4.1回溯法概述 68
  • 4.1.1回溯法的基本思想 68
  • 4.1.2回溯法的实施步骤和算法描述 69
  • 4.2回溯法的应用 70
  • 4.2.1八皇后问题 70
  • 4.2.2图的着色问题 71
  • 4.2.3装载问题 73
  • 4.2.4批处理作业调度 75
  • 4.2.5符号三角形问题 77
  • 4.2.6最大团问题 78
  • 4.2.7旅行售货员问题 80
  • 4.2.8电路板排列问题 82
  • 4.2.9连续邮资问题 84
  • 4.2.10圆排列问题 86
  • 4.2.11桥本分数式 88
  • 4.2.12素数环 89
  • 4.2.13神奇古尺 91
  • 4.3回溯设计的优化 92
  • 习题 93
  • 第5章分支限界法 94
  • 5.1分支限界法概述 94
  • 5.1.1分支限界法的基本思想 94
  • 5.1.2分支限界法的实施步骤和算法描述 94
  • 5.2分支限界法的应用 95
  • 5.2.1迷宫问题 95
  • 5.2.2六数码问题 98
  • 5.2.3旅行商问题 101
  • 5.2.4背包问题 104
  • 5.3回溯法与分支限界法的比较 108
  • 习题 109
  • 第6章递归法 110
  • 6.1递归法概述 110
  • 6.1.1递归法的基本思想 110
  • 6.1.2递归法的实施步骤和算法描述 110
  • 6.2递归法的应用 111
  • 6.2.1整数划分问题 111
  • 6.2.2汉诺塔问题 112
  • 6.2.3枚举排列问题 113
  • 6.2.4用递归法求斐波那契数列 114
  • 6.2.5排队买票问题 115
  • 6.2.6猴子吃桃子问题 116
  • 6.2.7RPG涂色问题 117
  • 6.2.8二叉树的遍历 118
  • 6.3回溯法与递归法的比较 120
  • 习题 120
  • 第7章分治法 121
  • 7.1分治法概述 121
  • 7.1.1分治法的基本思想 121
  • 7.1.2分治法的实施步骤和算法描述 122
  • 7.2分治法的应用 123
  • 7.2.1二分查找法 123
  • 7.2.2大整数乘法 125
  • 7.2.3斯特拉森矩阵乘法 127
  • 7.2.4棋盘覆盖问题 128
  • 7.2.5合并排序 129
  • 7.2.6快速排序 132
  • 7.2.7线性时间选择 133
  • 7.2.8最近点对问题 136
  • 7.2.9循环赛日程表 137
  • 7.3递归转化 139
  • 7.3.1一般的递归转非递归 139
  • 7.3.2分治法中的递归转化 141
  • 习题 143
  • 第8章贪心算法 145
  • 8.1贪心算法概述 145
  • 8.1.1贪心算法的基本思想 145
  • 8.1.2贪心算法的实施步骤与算法描述 145
  • 8.2活动安排问题 146
  • 8.3田忌赛马 148
  • 8.4背包问题 149
  • 8.5覆盖问题 151
  • 8.5.1区间覆盖问题 151
  • 8.5.2最大不相交覆盖 151
  • 8.5.3点覆盖 151
  • 8.6教室调度问题 153
  • 8.7最小生成树——Kruskal算法 155
  • 8.8最小生成树——Prim算法 157
  • 8.9哈夫曼编码 160
  • 8.10教室分配问题 164
  • 8.11最短路径——弗洛伊德算法 166
  • 8.12最短路径——迪杰斯德拉算法 169
  • 8.13均分纸牌 172
  • 8.14最佳浏览路线问题 173
  • 8.15机器调度问题 175
  • 8.16钱币找零问题 176
  • 习题 177
  • 第9章动态规划法 178
  • 9.1动态规划法概述 178
  • 9.1.1动态规划法的基本思想 178
  • 9.1.2动态规划法的实施步骤与算法描述 179
  • 9.2装载问题 180
  • 9.3投资分配问题 181
  • 9.4背包问题 185
  • 9.4.10-1背包问题 185
  • 9.4.2二维0-1背包问题 187
  • 9.5最长子序列探索 188
  • 9.5.1最长非降子序列 188
  • 9.5.2最长公共子序列(Longest Common Subsequence,LCS) 190
  • 9.6最优路径搜索 192
  • 9.6.1数字三角形最大路径和 192
  • 9.6.2多源最短路径问题 194
  • 9.6.3走方格问题 197
  • 9.6.4邮资问题 198
  • 9.7动态规划与其他算法的比较 199
  • 习题 200
  • 第10章随机算法 201
  • 10.1随机算法概述 201
  • 10.2随机数 201
  • 10.2.1随机生成数组元素 202
  • 10.2.2随机生成数字 204
  • 10.2.3随机生成计算题 206
  • 10.3同余算法 208
  • 10.4舍伍德算法 209
  • 10.5蒙特卡罗算法 211
  • 10.5.1用蒙特卡罗算法求π的值 211
  • 10.5.2用蒙特卡罗算法求特殊图形的面积 212
  • 10.5.3蒙特卡罗算法的优缺点及改进措施 213
  • 10.6拉斯维加斯算法 214
  • 10.7蒙特卡罗算法和拉斯维加斯算法的比较 217
  • 10.8随机算法的优缺点 217
  • 习题 217
  • 附录A不同算法的比较 219
  • 参考文献 221

资源获取

相关资源

网友留言