中科院 陈玉福算法简答题

本文讨论了贪心算法和动态规划的共性和区别,解释了动态规划的最优化原理和子问题重叠特性。同时,对比了回溯法与分枝限界法在解决问题上的差异。此外,文章还涉及多项式时间算法的概念、算法复杂度分析以及NPC问题的定义和证明步骤。
摘要由CSDN通过智能技术生成

1.  贪心算法和动态规划算法有什么共同点和区别?它们都有那些优势和劣势?

 

共通点:动态规划和贪心算法都是一种递推算法 ,均有局部最优解来推导全局最优解

 

区别:贪心算法中,作出的每步贪心决策都无法改变,每一步的最优解一定包含上一步的最优解,而上一部之前的最优解则不作保留。

动态优化算法,全局最优解中一定包含某个局部最优解,但不一定包含前一个局部最优解,因此需要记录之前的所有最优解

 

动态规划算法利用子问题重叠性质,对每一个子问题只计算一次,将其解保存在一个表格中。不同的子问题个数随着输入问题的规模呈多项式增长,因此,动态规划算法通常只需要多项式时间,从而获得较高的解题效率。但它需要计算之前所有情况花费,更加耗费空间。

贪心算法所作的选择依赖于以往所作过的选择,但决不依赖于将来的选择,这使得算法在编码和执行过程中都有一定的速度优势贪心算法是只是找局部最优解,不一定是全局最优解。

 

2.  试比较回溯法与分枝限界算法,分别谈谈这两个算法比较适合的问题?

 二者都是在解空间树里搜索问题的可靠解或最优解,但是搜索的方式不同,回溯法采用深度优先的方式,直到达到问题的一个可行解,或经判断沿此路径不会达到问题的可行解或最优解时,停止向前搜索,并沿原路返回到该路径上最后一个还可扩展的节点,然后,从该节点出发朝新的方向纵深搜索。分枝限界法采用的是宽度优先的方式

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值