第5章回溯法解答.pptVIP

  • 23
  • 0
  • 约1.66万字
  • 约 86页
  • 2017-01-04 发布于湖北
  • 举报
const int N=5;/*物品个数*/ int cv=0;/*当前价值*/ int cw=0;/*当前重量*/ int bestv=0;/*当前最优价值*/ int bestx[N+1];/*当前最优解*/ int C=10;/*背包容量*/ int v[N+1]={0,6,3,6,5,4},w[N+1]={0,2,2,4,6,5}; /*物品价值、重量。0元素不用*/ int x[N+1]={0}; //x[i]表示物品i当前是否加入背包 void main() { Backtrack(1); putout(); } void Backtrack(int i) //回溯求最优解 {int j; if(iN) /*到叶结点*/ { for (j=1;j=N;j++) bestx[j]=x[j]; bestv=cv; } else { if (cw+w[i]=C) /*搜索左子树*/ {x[i]=1; cw+=w[i]; cv+=v[i]; Backtrack(i+1); cw-=w[i];

文档评论(0)

1亿VIP精品文档

相关文档