具有时间复杂度“nlogn”的给定未分类输入的贪婪算法

时间:2013-04-29 19:40:51

标签: greedy knapsack-problem

多约束背包问题

我有这样一个给定的例子,我只是想了解,贪婪算法与O(n * logn)和贪婪算法O(n2)之间的区别是什么?我真的不知道怎么开始请帮忙!我应该对它进行排序或不同的东西:(? (利润和重量比不是递减或递增的顺序,完全随机) p =(p1;:::; pn)=(24; 17; 95; 103; 41; 39; 22; 1) w =(w1;:::; wn)=(20; 15; 39; 41; 27; 23; 18; 2)

1 个答案:

答案 0 :(得分:0)

是的,O(n log n)算法按递减顺序排序(利润/权重),然后尽可能多地抓取对象,直到权重限制。当然,排序算法必须是O(n log n)。

天真(O(n ^ 2))算法将重复搜索列表中具有最高(利润/权重)比率的项目并抓住它。请注意,这实际上与进行选择排序相同。