原创 背包问题

2013-11-11 00:33 628 6 1

背包问题的贪心算法:

void Greedy_Knapsack(float p[],float w[],float m[],float x[],int n) {
//p(1:n)和w(1:n)分别含有按p(i)/w(i)≥p(i+1)/w(i+l)排序的 n件物品的
//效益值和重量。m是背包的容量大小,而x(1:n)是解向量
int i;float cu; //cu是背包的剩余容量
for(i=1;i=n;++i) x = 0//将解向量初始化为零
cu = m; //将背包剩余容量cu设成m
for(i=1;i=n;++i) {
if(w>cu) breakelse {x = 1;cu = cu - w;}
};//for
if(i≤n) { x(i) = cu/w(i);
return x[];
}// Greedy_Knapsack

有关背包问题还有好几种解法,这里的代码也没有加上去,值得继续深究。

作者: 李肖遥, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3912462.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
6
关闭 站长推荐上一条 /3 下一条