清华大学出版社旗舰店店铺主页二维码
清华大学出版社旗舰店 微信认证
微信扫描二维码,访问我们的微信店铺
你可以使用微信联系我们,随时随地的购物、客服咨询、查询订单和物流...

算法设计与问题求解(微课版)(面向新工科专业建设计算机系列教材)

43.20
运费: ¥ 0.00-10.00
库存: 261 件
算法设计与问题求解(微课版)(面向新工科专业建设计算机系列教材) 商品图0
算法设计与问题求解(微课版)(面向新工科专业建设计算机系列教材) 商品缩略图0

商品详情

内容简介

本书是为以算法设计、问题求解为阅读目的的读者编写的教材,注重培养读者的算法设计与分析、问题求解的能力。本书读者需要掌握程序设计、数据结构等基础知识,并具备一定的编程能力。

本书以算法设计与分析为主线,通过问题和案例引入内容,重点讲解利用算法求解问题的思路、算法执行过程及能力拓展。本书主要内容为算法基础、蛮力法、递归法、分治法、贪心法、回溯法、分支限界法、动态规划法、图算法、随机算法等,讲解了背包问题、任务分配问题、批处理作业调度问题、最优装载问题、旅行商问题、计算几何等经典问题,并提供了能力拓展环节,引导读者开展算法应用实践。算法使用C语言程序、伪代码等形式加以描述,并用图解的形式详细描述算法的执行过程,使读者能够深入了解算法的运行过程和结果。

本书可作为本科院校算法设计与分析的教学用书,也可作为从事算法设计的科技人员、算法竞赛选手的参考书及培训教材。


编辑推荐

国家级一流本科课程配套教材

全国高等学校计算机教育研究会“十四五”规划教材

本书有教学课件、教学大纲、教学计划、教学视频、源代码


目录


第1章算法基础1

1.1算法概念1

1.2算法描述1

1.3算法主要类别及典型问题2

1.3.1递归法2

1.3.2递推法2

1.3.3穷举法3

1.3.4贪心算法3

1.3.5分治法4

1.3.6动态规划法4

1.3.7分支限界法5

1.3.8回溯法6

1.4算法复杂度6

1.4.1算法输入规模度量6

1.4.2算法运行时间的度量7

1.4.3渐进符号7

1.4.4算法复杂度分析8

1.5标准模板库13

1.5.1动态数组vector的使用13

1.5.2集合set的使用15

1.5.3映射map的使用17

1.5.4栈stack的使用19

1.5.5队列与优先队列的使用20

1.5.6排序sort的使用23

习题25

 

第2章递归算法设计26

2.1概述26

2.2递归算法设计思想27

2.2.1递归定义27

2.2.2递归应用28

2.3递归算法示例与过程分析30

2.3.1汉诺塔问题30

2.3.2逆波兰表达式33

2.4递归转化为非递归34

2.4.1递归转尾递归34

2.4.2递归转非递归36

2.5能力拓展38

2.5.1K数列38

2.5.2猴子爬树40

2.5.3分黑球41

习题43

 

第3章蛮力法46

3.1概述46

3.2蛮力法的主要设计思想46

3.2.1使用蛮力法的几种情况46

3.2.2蛮力法的求解步骤46

3.3蛮力法示例与分析47

3.3.1选择排序47

3.3.2旅行商问题48

3.3.3字符串匹配蛮力解决50

3.3.401背包问题52

3.4能力拓展53

3.4.1连续数和53

3.4.2矩形个数54

习题56

 

第4章分治法59

4.1概述59

4.2分治法设计思路59

4.3分治法应用与过程分析62

4.3.1最大子段和62

4.3.2归并排序63

4.3.3棋盘覆盖问题66

4.3.4最近点对问题68

4.4能力拓展72

4.4.1第k位数72

4.4.2二进制的完全表示74

4.4.3最小违和度75

习题78

 

第5章回溯法81

5.1概述81

5.2回溯法设计思路81

5.3回溯法示例与过程分析81

5.3.1n皇后问题81

5.3.201背包问题83

5.3.3图的m着色问题85

5.3.4批处理作业调度问题86

5.4能力拓展88

5.4.1全排列问题88

5.4.2存在障碍物的迷宫问题89

5.4.3图的m着色问题变种90

5.5习题91

 

第6章贪心法96

6.1概述96

6.2贪心法设计思路96

6.3贪心法示例与过程分析96

6.3.1部分背包问题96

6.3.2最优装载问题98

6.3.3乘船问题99

6.3.4旅行商问题100

6.4能力拓展101

6.4.1田忌赛马问题101

6.4.2过河问题102

习题103

 

第7章分支限界法108

7.1概述108

7.2分支限界法设计思路108

7.3分支限界法示例与过程分析110

7.3.101背包问题110

7.3.2多段图最短路径问题112

7.3.3旅行商问题115

7.3.4作业调度问题119

7.4能力拓展124

7.4.1大富翁游戏124

7.4.2最优装载问题126

习题128

 

第8章动态规划131

8.1概述131

8.2动态规划算法设计规则131

8.3动态规划算法问题求解132

8.3.101背包问题132

8.3.2最长公共子序列137

8.3.3最长上升子序列141

8.3.4字符串相似度/编辑距离146

8.3.5最大子段和149

8.4能力拓展152

8.4.1带通配符的字符串匹配152

8.4.2爬楼梯156

习题158

 

第9章图算法设计164

9.1概述164

9.1.1图的定义164

9.1.2图的相关概念164

9.2图算法示例与分析165

9.2.1最短路问题165

9.2.2网络最大流问题169

9.2.3二分图染色问题173

9.3能力拓展176

9.3.1上学问题176

9.3.2圣诞老人的烦恼179

9.3.3烤箱问题182

习题185

 

第10章计算几何192

10.1概述192

10.2相关几何知识193

10.2.1向量193

10.2.2点积和叉积195

10.2.3基本应用196

10.2.4点是否在面内197

10.2.5方向198

10.2.6面积和角度198

10.2.7凸性199

10.3计算几何示例与分析199

10.3.1点到直线的距离、判断线段是否相交199

10.3.2凸包问题(极角排序)204

10.3.3利用叉积计算多边形面积 206

10.4能力拓展208

10.4.1不同直线计数208

10.4.2面积最大的三角形209

10.4.3面积最大的多边形212

习题215

 

第11章计算复杂度理论221

11.1计算模型221

11.2P类和NP类问题225

11.3NPC问题227

习题229

 

第12章概率算法和近似算法230

12.1概率算法230

12.1.1概率算法的基本概念230

12.1.2概率算法的分类231

12.1.3数值概率算法232

12.1.4舍伍德算法232

12.1.5拉斯维加斯算法235

12.1.6蒙特卡罗算法237

12.2近似算法240

12.2.1介绍240

12.2.2顶点覆盖问题242

12.2.3旅行商问题243

习题244


清华大学出版社旗舰店店铺主页二维码
清华大学出版社旗舰店 微信公众号认证
扫描二维码,访问我们的微信店铺
随时随地的购物、客服咨询、查询订单和物流...

算法设计与问题求解(微课版)(面向新工科专业建设计算机系列教材)

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

打开微信,扫一扫

或搜索微信号:qhdxcbs
清华大学出版社官方微信公众号

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏