动态规划:钢条切割问题

本文介绍了动态规划的概念,并通过钢条切割问题详细阐述了其应用。动态规划避免了子问题的重复计算,适用于最优化问题。文章包括钢条切割问题的伪代码、自顶向下算法实现及结果验证。
摘要由CSDN通过智能技术生成

            动态规划与分治法相似,都是通过组合子问题的解来求解原问题。回顾下分治法的原理:它将问题划分为互不相交的子问题(注意:互不相交),递归求解子问题,再将它们的解组合起来,即为原问题的解。

       但是,动态规划与分治法不同,有以下几点:

1)对于子问题重叠的情况,分治法则重复求解,不高效。而动态规划对每个子问题只求解一次,因为它将子问题的解进行保存,当遇到重复的子问题时,不再计算,只需查找替代即可;

2)动态规划对原问题的划分存在n种子问题划分的可能性,它需要从n种划分中选择最优解,故动态规划常被用于求解最优化问题

             接下来,通过钢条切割的案例展示动态规划的运用。

1、钢条切割

        钢条切割问题的描述:给定一段长度为n英寸的钢条和一个价格表,求钢条切割的方案,使得销售收益最大化。

             钢条的长度和价格
   length : 1  2  3  4  5  6   7   8   9   10
   price  :  1  5  8  9 10 17 17 20 24 30

问题的分解方式:将长度为n的钢条切割分解为左边开始一段i,以及对右边剩余长度为n-i的钢条继续切割(递归求解),对左边的一段不再进行切割。于是,最大切割收益可以描述为:
         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值