首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客933601045号
南京邮电大学 数据分析师
发布于江苏
关注
已关注
取消关注
@Wonz:
南邮《算法分析与设计》期末复习CH7:动态规划
    一、动态规划法的基本要素      最优子结构性质:最优子结构性质——用动态规划法求解的前提。当一个问题的最优解中包含了其子问题的最优解时,称该问题具有最优子结构性质。     重叠子问题性质:(递归算法求解问题时)每次产生的子问题并不总是新问题,有些子问题被反复计算多次,这种性质称为子问题重叠性质。     二、动态规划法求解思路——自底向上、保存子问题的解  三、动态规划法求解步骤      1)刻画最优解的结构特性     2)递归定义最优解值     3)以自底向上方式计算最优解值     4)根据计算得到的信息构造一个最优解     四、动态规划法与分治法的比较  共同点:  将待求解的问题分解成若干子问题,先求解子问题,然后再从这些子问题的解得到原问题的解。  都是求解最优化问题;都具有最优子结构性质。  不同点:  1、适合于用动态规划法求解的问题,分解得到的各子问题往往不是相互独立的;而分治法中子问题相互独立。  2、动态规划法用表保存已求解过的子问题的解,再次碰到同样的子问题时不必重新求解,而只需查询答案,故可获得多项式级时间复杂度,效率较高;而分治法中对于每次出现的子问题均求解,导致同样的子问题被反复求解,故产生指数增长的时间复杂度,效率较低。  3、求解方式不同:  动态规划法:自底向上;  贪心法:自顶向下。以迭代的方式作出相继的贪心选择,每作一次贪心选择就将所求问题简化为一个规模更小的子问题。  4、对子问题的依赖不同:  动态规划法:依赖于各子问题的解。只有在解出相关子问题后,才能作出选择;应使各子问题最优,才能保证整体最优;  贪心法:不依赖于子问题的解。仅在当前状态下作出最好选择,即局部最优选择。  五、多段图问题      向前递推式     向后递推式     结点的cost和d值求解过程     最短路径长度,并根据d值构造最短路径     注意:d[j] 的含义和最短路径的构造。     课后习题 7-1,7-2     六、关键路径问题     earliest、latest的递推式和求解过程   事件i可能的最早发生时间earliest(i):指从开始结点 s 到结点 i 的最长路径(关键路径)长度。   事件i允许的最迟发生时间latest(i):指在不影响工期的条件下,事件(结点) i 允许的最晚发生时间;等于 earliest(n-1) 减去从结点 i 到结点 n-1 的最长路径长度。   寻找关键活动:若 latest(j)-earliest(i)=w(i,j),则边<i,j>代表的活动是关键活动。   构造关键路径:关键活动组成的关键路径上每个结点 (i和j) 都有 latest(i)=earliest(i) 。   最长路径长度——完成工程的最短时间   程序实现   性能分析:关键路径算法与拓扑排序有相同的时间复杂度,其时间复杂度为 O(n+e)。   补充题   注意:应由关键活动<i,j>(而不是事件i)来确定关键路径。    七、费洛伊德算法     dk 数组和 pathk 数组更新的递推式   每次迭代后的d数组和path数组元素值   程序实现和时间复杂度:O(n^3)    八、最长公共子序列(LCS)      c和s数组元素的求解递推式: 导出序列Xi=(x1,x2,…,xi)和Yj=(y1,y2,…,yj)的最长公共子序列的递推关系: ⑴若xi=yj,则先求Xi-1和Yj-1的最长公共子序列,并在其尾部加上xi便得到了Xi和Yj的最长公共子序列; ⑵若xi≠yj,则必须分别求解两个子问题Xi-1和Yj以及Xi和Yj-1的最长公共子序列,这两个公共子序列中的较长者就是Xi和Yj的最长公共子序列。     c和s数组元素求值,得最优解值     证明回溯构造最优解     程序实现:时间复杂度为O(m*n)     课后习题7-9     九、备忘录方法  1)动态规划法的变形。 2)采用分治法的思想。 3)自顶向下直接递归的方式求解。 ——两者的异同和适用场合  备忘录方法与动态规划法比较  1、与动态规划法的共同点:用一个表格来保存已求解的子问题的答案,使下次需要解此子问题时,只简单地查看答案,不重新计算。  2、与动态规划法的区别:备忘录的递归方式是自顶向下,而动态规划法的递归方式是自底向上。  备忘录方法与递归方法比较  1、与递归方法的共同点:递归方式均为自顶向下  2、与递归方法的区别:备忘录方法用一个表格来保存已求解的子问题的答案,使下次需要解此子问题时,只简单地查看答案,不重新计算;而递归方法在每次遇到子问题都要重新计算。  如何选择使用动态规划法或备忘录法?      当一个问题的所有子问题都至少要解一次时,选用动态规划法较好,此时没有任何多余的计算,还可利用规则的表格存取方式,减少时间和空间需求。     当一个问题只有部分子问题需要求解时,选用备忘录法较好,它只解那些确实需要求解的子问题。     十、0/1背包      0/1背包问题动态规划法求解——自底向上     0/1背包问题具有最优子结构特性:     设(x0,x1,…,xn-1),xi∈{0,1} 是0/1背包的最优解。那么(x0,x1,…,xn-2)必然是0/1背包子问题的最优解。     0/1背包问题(实数重量)阶跃点集合求解——非启发式方法、启发式方法 注意:被支配的阶跃点和所有X>M的阶跃点均应该去除。   课后习题7-15、补充题   实验补充——装载问题。  
点赞 0
评论 0
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
10-30 14:00
门头沟学院 Java
字节秋招剪映后端开发一面
1.介绍一下 channel 的底层原理 2.SQL调优你了解吗,比如说你调试的一些 SQL语句怎么验证它是否命中了一些索引,以及它的性能是否是最优,该通过什么样的方式去验证 3.具体是用哪条命令来看索引有没有命中 4.能说一下 MySQL在建立联合索引的一些注意事项吗,比如说索引的一些列有什么样的规则或规范,比如在建立联合索引时哪些列应该列入到联合索引里,哪些列又不应该列到联合索引里面 5.我建了五个列的联合索引,这样的联合索引对于我的读和写有哪些影响 6.联合索引建的太多对于写的影响是什么 算法题:hot100 原题--5.最长回文子串
查看6道真题和解析
点赞
评论
收藏
分享
10-29 19:30
门头沟学院 后端工程师
烽火通信offer逼签
1.没有自我介绍,上来就闲聊 2.每秒有一百万个请求,设计一个id生成器,作为这些请求的id 3.手撕买卖股票 4.再次闲聊两句 5.问对什么还比较熟悉,回答JVM,问了实习时用的什么垃圾回收器,G1出现之前是如何尽量减少停顿时间的 6.反问
查看3道真题和解析
点赞
评论
收藏
分享
10-20 11:07
上海大学 行政专员/助理
谁允许你看我简历的
点赞
评论
收藏
分享
10-29 10:43
已编辑
河南大学 前端工程师
数字马力前端面经
数字马力前端一面 65min自我介绍看你的简历里用过vue2和vue3,能讲一下他们有什么不一样吗知道底层有什么不一样吗Diff新树旧树的比较是什么比较,vue的虚拟节点,为什么这样比较vue自定义指令讲一下vue2中的data为什么是一个函数而不是对象项目优化性能优化手段虚拟列表是怎么实现的事件委托事件循环浏览器缓存强制缓存和协商缓存具体讲一下BFC知道吗,怎么开启,解决什么问题http常见状态码知道吗cookie、sessionStorage、localStorage讲一下跨域你们一般怎么解决跨域的有遇到过前端处理大量数据的情况吗rem和vw,响应式布局webpack的构建流程webpac...
查看30道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
造谣刑法老师媚男,反被老师法院起诉
1.4W
2
...
现在出海,是不是相当于十年前加入互联网?
1.1W
3
...
如果你的实习能重来一遍,如何让自己的实习利益最大化
8702
4
...
秋招小失败-后端小小劝退(大结局)
6427
5
...
你们说,人会一直倒霉吗?
5937
6
...
抖音文娱二面挂面经-劝退后端第三天
5887
7
...
一个大专学历15年IT之路的感悟
4087
8
...
什么,你在教我做事?
3711
9
...
9本秋招后端收获9+offer, 我做对了什么?
3007
10
...
月薪1W在老家直接躺赢
2884
创作者周榜
更多
正在热议
更多
#
校招生月薪1W算什么水平
#
27046次浏览
169人参与
#
硬件人的简历怎么写
#
311568次浏览
3057人参与
#
“vivo”个offer
#
36338次浏览
277人参与
#
我是面试官,请用一句话让我破防
#
22802次浏览
117人参与
#
工作后明白的那些道理
#
20806次浏览
220人参与
#
如果上班像打游戏,你最想解锁什么技能
#
6921次浏览
67人参与
#
中美关税战对我们有哪些影响
#
41227次浏览
350人参与
#
中美关系回暖,你会选择出海吗?
#
4679次浏览
94人参与
#
AI时代,哪些岗位最容易被淘汰
#
2523次浏览
27人参与
#
华为保温
#
105925次浏览
403人参与
#
机械人,签完三方你在忙什么?
#
65501次浏览
244人参与
#
第一份工作应该只看薪资吗
#
192049次浏览
1687人参与
#
牛友们,签完三方你在忙什么?
#
119707次浏览
958人参与
#
哪些行业值得去?
#
4377次浏览
46人参与
#
金融财经春招备战日记
#
38532次浏览
210人参与
#
i人适合做什么工作
#
9825次浏览
88人参与
#
如果秋招能重来,我会____
#
34140次浏览
283人参与
#
美团开奖
#
208429次浏览
1100人参与
#
国央企笔面经互助
#
160939次浏览
1182人参与
#
读研or工作,哪个性价比更高?
#
76916次浏览
767人参与
#
华为池子有多大
#
109411次浏览
750人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务