帝国软件 首页 > 图书 > 教材教辅 > 正文 返回 打印

算法设计与分析(本科教材)

  2020-09-24 00:00:00  

算法设计与分析(本科教材) 本书特色

本书以程序设计作为基础,数据结构作为工具,六大核心算法作为目标,系统地介绍了算法设计中典型问题的求解过程。 全书内容包括算法设计基础、递归算法、分治算法、贪心算法、动态规划算法、回溯算法、分支限界算法、实验指导。六大核心算法后都配有典型问题的C 代码,并结合实验指导辅助读者进行算法实践训练。

算法设计与分析(本科教材) 内容简介

1.针对精简学时的教学:讲算法*核心的问题,算法描述采用伪码,力求突出对问题本身的分析和求解方法的阐述。 2.在各章中体现了将同一算法的设计方法和设计策略用于求解不同问题,更便于学生体会、掌握算法设计的思路。 3.在叙述中不但注意理论的严谨,也精选了大量生动有趣的例子,每章都配有难度适当的练习,适合教学使用 4.提供典型算法的C 实现代码

算法设计与分析(本科教材) 目录

第1章 算法设计与分析基础 1

1.1 算法概述 2

1.1.1 什么是算法 2

1.1.2 学习算法的重要性 6

1.2 问题的求解过程 6

1.2.1 问题及问题的求解过程 6

1.2.2 算法设计与算法表示 7

1.2.3 算法确认和算法分析 8

1.3 算法的复杂性分析 8

1.3.1 算法评价的基本原则 9

1.3.2 影响程序运行时间的因素 10

1.3.3 算法复杂度 11

1.3.4 使用程序步分析算法 14

1.3.5 渐近表示法 15

1.4 算法设计中常见的重要问题类型 18

1.4.1 排序问题 18

1.4.2 查找问题 19

1.4.3 图问题 19

1.4.4 组合问题 20

1.4.5 几何问题 20

1.4.6 数值问题 21

1.4.7 其他常见问题 21

1.5 常用的算法设计方法 22

1.5.1 数值计算算法 23

1.5.2 非数值计算算法 24

1.6 小结 28

练习题 29

第2章 递归算法 31

2.1 递归算法的思想 32

2.1.1 递归算法的特性 32

2.1.2 递归算法的执行过程 32

2.1.3 递推关系 33

2.2 递归法应用举例 37

2.2.1 汉诺塔问题 37

2.2.2 斐波那契数列问题 39

2.2.3 八皇后问题 40

2.3 典型问题的C 程序 43

2.4 小结 48

练习题 48

第3章 分治算法 50

3.1 分治算法的思想 51

3.2 排序问题中的分治算法 52

3.2.1 归并排序 53

3.2.2 快速排序 55

3.3 查找问题中的分治算法 57

3.3.1 折半查找 57

3.3.2 选择问题 59

3.4 组合问题中的分治算法 60

3.4.1 *大子段和问题 60

3.4.2 棋盘覆盖问题 62

3.5 典型问题的C 程序 64

3.6 小结 70

练习题 71

第4章 贪心算法 72

4.1 贪心算法的思想 73

4.1.1 问题的提出 73

4.1.2 贪心算法设计思想 73

4.1.3 贪心算法的基本要素 74

4.1.4 贪心算法的求解过程 74

4.2 组合问题中的贪心算法 75

4.2.1 背包问题 75

4.2.2 多机调度问题 77

4.3 图问题中的贪心算法 78

4.3.1 单源*短路径问题 78

4.3.2 *小代价生成树 80

4.4 典型问题的C 程序 84

4.5 小结 92

练习题 92

第5章 动态规划算法 94

5.1 动态规划算法的思想 95

5.2 查找问题中的动态规划算法 97

5.2.1 *优二叉搜索树 97

5.2.2 近似串匹配问题 100

5.3 图问题中的动态规划算法 102

5.3.1 多段图问题 102

5.3.2 每对结点间的*短距离 105

5.4 组合问题中的动态规划算法 108

5.4.1 0/1背包问题 108

5.4.2 *长公共子序列 112

5.4.3 流水作业调度 115

5.5 典型问题的C 程序 120

5.6 小结 125

练习题 126

第6章 回溯算法 128

6.1 回溯算法的思想 129

6.1.1 基本概念 129

6.1.2 基本思路 130

6.1.3 回溯算法的适用条件 132

6.1.4 回溯算法的效率估计 132

6.2 组合问题中的回溯算法 133

6.2.1 装载问题 133

6.2.2 0/1背包问题 134

6.2.3 n皇后问题 136

6.2.4 图的m着色问题 139

6.2.5 子集和数问题 141

6.3 图问题中的回溯算法 143

6.3.1 深度优先搜索 143

6.3.2 货郎(TSP)问题 143

6.3.3 *大团(MCP)问题 145

6.3.4 哈密顿环问题 146

6.4 算法效率的影响因素及改进途径 148

6.4.1 影响算法效率的因素 148

6.4.2 回溯算法的改进途径 148

6.5 典型问题的C 程序 148

6.6 小结 165

练习题 165

第7章 分支限界算法 167

7.1 分支限界算法的思想 168

7.2 求*优解的分支限界算法 170

7.2.1 FIFO分支限界算法 171

7.2.2 LC分支限界算法 172

7.3 组合问题中的分支限界算法 173

7.3.1 0/1背包问题 173

7.3.2 带限期的作业排序 175

7.4 图问题中的分支限界算法 179

7.4.1 旅行商问题 179

7.4.2 单源点*短路径问题 182

7.5 典型问题的C 程序 184

7.6 小结 188

练习题 188

附录 实验指导 190

实验一 递归与分治算法 191

1.1 实验目的与要求 191

1.2 实验课时 191

1.3 实验原理 191

1.4 实验题目 191

1.5 思考题 192

实验二 贪心算法 192

2.1 实验目的与要求 192

2.2 实验课时 192

2.3 实验原理 192

2.4 实验题目 193

2.5 思考题 194

实验三 动态规划算法 194

3.1 实验目的与要求 194

3.2 实验课时 195

3.3 实验原理 195

3.4 实验题目 195

3.5 思考题 197

实验四 回溯算法 197

4.1 实验目的与要求 197

4.2 实验课时 197

4.3 实验原理 197

4.4 实验题目 198

4.5 思考题 199

实验五 分支限界算法 199

5.1 实验目的与要求 199

5.2 实验课时 200

5.3 实验原理 200

5.4 实验题目 200

5.5 思考题 203

参考文献 204

算法设计与分析(本科教材) 作者简介

王幸民 太原理工大学高工。1984年7月毕业于山西大学计算数学专业,长期从事计算机课程的教学与科研工作,讲授程序设计技术基础(C语言)、面向对象程序设计基础(C )、算法设计与分析、大学计算机基础、人工智能、管理信息系统等课程,主编与参编多本教材。 张晓霞,太原理工大学教师。长期从事计算机课程的基础教学与研究工作,主讲大学计算机基础、程序设计技术基础(C语言)、程序设计技术基础(VB语言)、算法设计与分析、微机原理及应用、计算机接口技术等课程,主编和参编过多本教材。

算法设计与分析(本科教材)

http://book.00-edu.com/tushu/jcjf/2020-10-02/2788049.html