背包问题的贪心算法:
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) break; else {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
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论