在我的例子中,7英寸长杆可分为6 + 1或2 + 2 + 3方式。 现在假设我的算法选择了第一个分区。
6 + 1
而不是
2 + 2 + 3
我应该说这是一种半贪婪的方法,因为我知道棒切割问题是一个动态规划问题
答案 0 :(得分:0)
没有这样的术语就像半贪心算法一样好吧。
它选择第一选择因为它搜索更多的价格,如果它终止,它不会用于另一种选择,这完全是因为<=
表达;比较杆切割组合的最优性,而不是因为它是半贪心算法。
我相信你现在很清楚了
答案 1 :(得分:0)
贪婪算法
半贪心方法
贪婪算法是一种算法,它试图解决整个问题,将其分解为子问题,并尝试在子问题的上下文中为这些问题选择最优解。这通常可以导致解决方案,但不会导致全局最优解决方案。半贪心没有任何意义。它要么是,要么不是。
杆切割问题
杆切割问题是切割杆的最有效方法,基于一个值表,告知切割杆的成本成本。
您的算法
嗯..我没有看到贪婪的价值。如果我们试图将其分成尽可能少的数字,那么显然你会对最大数量小于要拆分的数字贪婪。
贪婪算法需要一些目标才能实现。简单地拆分“杆”没有隐含的价值。
如果我们有成本矩阵,您的算法
如果您有一个成本矩阵,并且您的算法尝试使用最便宜的值进行削减,那么这将是一个贪婪的算法,因为您在成本上贪婪。