• 算法设计与分析――C++语言描述(第4版)

    释放查看图文详情

21年品牌 40万+商家 超1.5亿件商品

算法设计与分析――C++语言描述(第4版)

闪电发货·正版保障·假一赔十·电子发票·七天退换无忧

49.89 7.2折 69 全新

仅1件

天津西青

送至北京市朝阳区

运费快递 ¥3.90

认证卖家担保交易快速发货售后保障

作者陈慧南编著 著

出版社电子工业出版社

ISBN9787121483325

出版时间2025-01

装帧平装

开本其他

定价69元

货号1203406968

上书时间2025-03-18

评价6219好评率 99.77%

  • 物流很快 576
  • 品相不错 549
  • 发货速度快 538
  • 包装仔细 528
  • 非常满意 457
  • 价格实惠 397
  • 值得信赖 381
  • 服务态度好 341
  • 物超所值 341
  • 品相超预期 319
  • 品相未达预期 1
  • 描述不符 1
  • 有小瑕疵 1
  • 书质量太差 1
  • 包装损坏 1
查看全部评价

轻阅书店

四年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
目录
第1部分  算法和算法分析
第1章  算法问题求解基础1
1.1  算法概述1
1.1.1  什么是算法1
1.1.2  为什么学习算法3
1.2  问题求解方法3
1.2.1  问题和问题求解4
1.2.2  问题求解过程4
1.2.3  软件生命周期5
1.3  算法设计与分析5
1.3.1  算法问题求解过程5
1.3.2  如何设计算法6
1.3.3  如何表示算法6
1.3.4  如何确认算法6
1.3.5  如何分析算法7
1.4  递归和归纳7
1.4.1  递归7
1.4.2  递归算法示例9
1.4.3  归纳证明11
习题113
第2章  算法分析基础14
2.1  算法复杂度14
2.1.1  什么是好的算法14
2.1.2  影响程序执行时间的因素15
2.1.3  算法的时间复杂度16
2.1.4  使用程序步分析算法17
2.1.5  算法的空间复杂度18
2.2  渐近表示法19
2.2.1  大O记号19
2.2.2  Ω记号20
2.2.3  Θ记号21
2.2.4  小o记号21
2.2.5  算法按时间复杂度分类21
2.3  递推关系22
2.3.1  递推方程22
2.3.2  替换方法23
2.3.3  迭代方法23
2.3.4  递归树23
2.3.5  主方法25
2.4  分摊分析25
2.4.1  聚集分析26
2.4.2  会计方法26
2.4.3  势能方法27
习题228
第3章  伸展树与跳表31
3.1  伸展树31
3.1.1  二叉搜索树31
3.1.2  自调节树和伸展树31
3.1.3  伸展操作32
3.1.4  伸展树类34
3.1.5  旋转的实现34
3.1.6  插入运算的实现35
3.1.7  分摊分析37
3.2  跳表39
3.2.1  什么是跳表39
3.2.2  跳表类40
3.2.3  层次分配42
3.2.4  插入运算的实现43
3.2.5  性能分析44
习题345

第2部分  算法设计策略

第4章  基本搜索和遍历方法46
4.1  基本概念46
4.2  图的搜索和遍历47
4.2.1  搜索方法47
4.2.2  邻接表类48
4.2.3  广度优先搜索49
4.2.4  深度优先搜索51
4.3  双连通分量53
4.3.1  基本概念53
4.3.2  发现关节点54
4.3.3  构造双连通图58
4.4  与或图58
4.4.1  问题分解58
4.4.2  判断与或树是否可解60
4.4.3  构建解树61
4.5  区间最值查询(RMQ)62
4.5.1  区间信息维护与查询62
4.5.2  ST算法求解RMQ问题63
4.6  最近公共祖先(LCA)65
4.6.1  概述65
4.6.2  倍增法求解LCA问题66
4.6.3  在线RMQ法求解LCA问题68
4.6.4  Tarjan算法求解LCA问题70
习题473
第5章  分治法75
5.1  一般方法75
5.1.1  分治法的基本思想75
5.1.2  算法分析76
5.1.3  数据结构77
5.2  求最大、最小元78
5.2.1  分治法求解78
5.2.2  时间分析79
5.3  二分搜索80
5.3.1  分治法求解80
5.3.2  对半搜索81
5.3.3  二叉判定树82
5.3.4  搜索算法的时间下界84
5.4  排序问题85
5.4.1  合并排序85
5.4.2  快速排序87
5.4.3  排序算法的时间下界91
5.5  选择问题92
5.5.1  分治法求解92
5.5.2  随机选择主元93
5.5.3  线性时间选择算法94
5.5.4  时间分析96
5.5.5  允许重复元素的选择算法97
5.6  斯特拉森矩阵乘法97
5.6.1  分治法求解97
5.6.2  斯特拉森矩阵乘法简介98
习题599
第6章  贪心法102
6.1  一般方法102
6.2  背包问题103
6.2.1  问题描述103
6.2.2  贪心法求解104
6.2.3  算法正确性105
6.3  带时限的作业排序问题106
6.3.1  问题描述106
6.3.2  贪心法求解107
6.3.3  算法正确性108
6.3.4  可行性判定108
6.3.5  作业排序贪心算法109
6.3.6  改进算法110
6.4  最佳合并模式112
6.4.1  问题描述113
6.4.2  贪心法求解113
6.4.3  算法正确性115
6.5  最小代价生成树116
6.5.1  问题描述116
6.5.2  贪心法求解116
6.5.3  普里姆算法117
6.5.4  克鲁斯卡尔算法119
6.5.5  算法正确性121
6.6  单源最短路径122
6.6.1  问题描述122
6.6.2  贪心法求解122
6.6.3  迪杰斯特拉算法123
6.6.4  算法正确性125
6.7  磁带最优存储127
6.7.1  单带最优存储127
6.7.2  多带最优存储128
6.8  贪心法的基本要素129
6.8.1  最优量度标准129
6.8.2  最优子结构129
习题6130
第7章  动态规划法133
7.1  一般方法和基本要素133
7.1.1  一般方法133
7.1.2  基本要素134
7.1.3  多段图问题134
7.1.4  资源分配问题137
7.1.5  关键路径问题138
7.2  每对结点间的最短路径140
7.2.1  问题描述140
7.2.2  动态规划法求解140
7.2.3  弗洛伊德算法141
7.2.4  算法正确性143
7.3  矩阵连乘143
7.3.1  问题描述143
7.3.2  动态规划法求解144
7.3.3  矩阵连乘算法145
7.3.4  备忘录方法147
7.4  最长公共子序列147
7.4.1  问题描述147
7.4.2  动态规划法求解148
7.4.3  最长公共子序列算法149
7.4.4  改进算法151
7.5  最优二叉搜索树151
7.5.1  问题描述151
7.5.2  动态规划法求解151
7.5.3  最优二叉搜索树算法153
7.6  0/1背包问题155
7.6.1  问题描述155
7.6.2  动态规划法求解155
7.6.3  0/1背包问题算法框架157
7.6.4  0/1背包问题算法160
7.6.5  性能分析162
7.6.6  使用启发式方法163
7.7  流水线作业调度164
7.7.1  问题描述164
7.7.2  动态规划法求解165
7.7.3  Johnson算法167
习题7168
第8章  回溯法170
8.1  一般方法170
8.1.1  基本概念170
8.1.2  剪枝函数和回溯法171
8.1.3  回溯法的效率分析173
8.2  n-皇后问题173
8.2.1  问题描述173
8.2.2  回溯法求解174
8.2.3  n-皇后算法175
8.2.4  时间分析176
8.3  子集和数问题177
8.3.1  问题描述177
8.3.2  回溯法求解177
8.3.3  子集和数算法178
8.4  图着色问题180
8.4.1  问题描述180
8.4.2  回溯法求解180
8.4.3  图着色算法181
8.4.4  时间分析182
8.5  哈密顿环问题182
8.5.1  问题描述182
8.5.2  哈密顿环算法183
8.6  0/1背包问题184
8.6.1  问题描述184
8.6.2  回溯法求解184
8.6.3  限界函数185
8.6.4  0/1背包问题算法186
8.7  批处理作业调度188
8.7.1  问题描述188
8.7.2  回溯法求解188
8.7.3  批处理作业调度算法188
习题8190
第9章  分枝限界法192
9.1  一般方法192
9.1.1  分枝限界法概述192
9.1.2  LC分枝限界法194
9.1.3  15谜问题195
9.2  求最优解的分枝限界法197
9.2.1  上下界函数197
9.2.2  FIFO分枝限界法198
9.2.3  LC分枝限界法199
9.3  带时限的作业排序200
9.3.1  问题描述200
9.3.2  分枝限界法求解200
9.3.3  带时限的作业排序算法201
9.4  0/1背包问题203
9.4.1  问题描述203
9.4.2  分枝限界法求解203
9.4.3  0/1背包问题算法204
9.5  旅行商问题207
9.5.1  问题描述207
9.5.2  分枝限界法求解207
9.6  批处理作业调度211
9.6.1  问题描述211
9.6.2  分枝限界法求解211
9.6.3  批处理作业调度算法212
习题9215

第3部分  求解困难问题

第10章  NP完全问题217
10.1  基本概念217
10.1.1  不确定算法和不确定机218
10.1.2  可满足性问题220
10.1.3  P类问题和NP类问题221
10.1.4  NP难度问题和NP完全问题221
10.2  Cook定理和证明222
10.2.1  Cook定理222
10.2.2  简化的不确定机模型222
10.2.3  证明Cook定理223
10.3  一些典型的NP完全问题227
10.3.1  最大集团227
10.3.2  顶点覆盖228
10.3.3  三元CNF可满足性229
10.3.4  图的着色数230
10.3.5  有向哈密顿环231
10.3.6  恰切覆盖233
10.3.7  子集和数234
10.3.8  分划235
习题10236
第11章  随机算法238
11.1  基本概念238
11.1.1  随机算法概述238
11.1.2  随机数发生器238
11.1.3  随机算法分类239
11.2  拉斯维加斯算法240
11.2.1  标记重复元素算法240
11.2.2  性能分析241
11.2.3  n-皇后问题242
11.2.4  拉斯维加斯算法和回溯法的结合
       算法244
11.3  蒙特卡罗算法245
11.3.1  多数元素问题246
11.3.2  素数测试问题247
11.3.3  伪素数测试问题248
11.3.4  米勒-拉宾算法249
11.4  舍伍德算法250
11.4.1  快速排序舍伍德算法250
11.4.2  性能分析251
11.4.3  舍伍德算法的其他应用251
习题11252
第12章  近似算法253
12.1  近似算法的性能253
12.1.1  基本概念253
12.1.2  绝对性能保证253
12.1.3  相对性能保证254
12.1.4  近似方案255
12.2  绝对近似算法的应用255
12.2.1  最多程序存储问题255
12.2.2  NP难度问题256
12.3  ?-近似算法的应用257
12.3.1  顶点覆盖问题257
12.3.2  旅行商问题258
12.3.3  NP难度?-近似旅行商问题259
12.3.4  具有三角不等式性质的旅行商
       问题260
12.3.5  多机调度问题261
12.4  ?(n)-近似算法263
12.4.1  集合覆盖问题263
12.4.2  集合覆盖问题近似算法264
12.4.3  ln(n)-近似算法264
12.5  多项式时间近似方案266
12.5.1  多机调度近似方案266
12.5.2  时间分析267
12.6  子集和数问题的完全多项式时间近似
       方案267
12.6.1  子集和数问题的指数时间算法267
12.6.2  完全多项式时间近似方案268
习题12270
第13章  遗传算法272
13.1  进化计算272
13.2  遗传算法的生物学基础273
13.3  遗传算法的基本思想274
13.4  基本遗传算法275
13.4.1  基本遗传算法的构成要素275
13.4.2  基本遗传算法的流程图278
13.5  遗传算法的特点和应用278
13.5.1  遗传算法的特点278
13.5.2  遗传算法的应用278
13.6  基本遗传算法的实现方法279
13.6.1  数据结构279
13.6.2  主程序279
13.6.3  选择运算280
13.6.4  交叉运算282
13.6.5  变异运算283
13.7  旅行商问题283
13.7.1  排列编码284
13.7.2  目标函数和适应度函数284
13.7.3  锦标赛选择法284
13.7.4  顺序交叉285
13.7.5  交换变异286
13.7.6  参数选择287
13.7.7  实例运行结果287
习题13288
第14章  密码算法289
14.1  信息安全和密码学289
14.1.1  信息安全289
14.1.2  什么是密码289
14.1.3  密码体制290
14.2  数论初步291
14.3  背包问题密码算法292
14.3.1  背包问题292
14.3.2  超递增背包问题293
14.3.3  由私人密钥产生公开密钥294
14.3.4  加密方法294
14.3.5  解密方法294
14.3.6  背包问题安全性295
14.4  RSA算法295
14.4.1  RSA算法概述295
14.4.2  RSA算法安全性296
14.5  散列函数和消息认证297
14.5.1  散列函数297
14.5.2  散列函数的结构297
14.5.3  消息认证298
14.6  数字签名298
14.6.1  RSA算法实现直接数字签名298
14.6.2  需仲裁的数字签名299
习题14299
参考文献300

内容摘要
本书内容分为3部分: 算法和算法分析、算法设计策略及求解困难问题。第1部分介绍算法问题求解基础和算法分析基础, 以及两种新的数据结构: 伸展树与跳表; 第2部分讨论常用的算法设计策略, 包括基本搜索和遍历方法、分治法、贪心法、动态规划法、回溯法和分枝限界法; 第3部分介绍NP完全问题、随机算法、近似算法、遗传算法和密码算法, 并对现代密码学和数论做了简要论述。

   为你推荐   

—  没有更多了  —

微信扫码逛孔网

无需下载

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP