算法应用1:夜过吊桥算法

本文介绍了夜过吊桥算法,一种结合动态规划和贪心法的问题解决策略。通过举例说明了两种方法:贪心法下的最小返回时间和动态规划中的最优子问题选择。对比了两种方法在不同情况下的应用和效率,揭示了动态规划与贪心法组合使用的优越性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近三天(11月27~29日)看《算法谜题》,发现夜过吊桥算法。

夜过吊桥算法(night crossing suspension bridge)是动态规划和贪心法组合应用的算法。方法一,使用贪心法,则最佳策略是最小返回时间。因此,最快过桥的人每次返回。若有过桥时间是a[]={1,3,5,10,12}的五个人过桥,则最小返回时间是a[1]=1,四次返回,每次与a[2]~a[4]中的一个人过桥。则过程是:

       1,3:1返回;

       1,5:1返回;

       1,10:1返回;

       1,12。

时间=4+6+11+12=33.

方法二:动态策略划分子问题,要考虑所有子问题的组合方式,因此夜过吊桥算法是元素组合最佳策略问题。动态规划最优子问题有两个策略:最小返回时间,最大重叠时间。最大重叠时间是现在两个最大过桥时间的人a[4]和a[5]“一起”过桥。但是返回时间是

a[4],不是最佳策略,如果a[1]在对岸,则返回时间最小。因此每一次返回的并不是最快过桥的人。

则过程是:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值