第十一章 采用非递归深度优先遍历算法.docVIP

  • 6
  • 0
  • 约2.03千字
  • 约 9页
  • 2017-06-17 发布于湖北
  • 举报

第十一章 采用非递归深度优先遍历算法.doc

2007-05-27 晴 //采用非递归深度优先遍历算法,可以将回溯法表示为一个非递归过程 #includeiostream using namespace std; class Knap { friend int Knapsack(int p[],int w[],int c,int n ); //设置友元函数 public: void print() //定义类内函数打印结果 { for(int m=1;m=n;m++) { coutbestx[m] ; } coutendl; }; private: int Bound(int i); void Backtrack(int i); int c; //背包容量 int n; //物品数 int *w; //物品重量数组 int *p; //物品价值数组 int cw; //当前重量 int cp; //当前价值 int bestp; //当前最优值 int *bestx; //当前最优解 int *x; //当前解 }; int Knap::Bound(int i) //装满背包 if(i=n) b+=p/w*cleft; return b; } void Knap::Backtrack(int i) { if(in) { if(bestpcp) { for(int j=1;j=n;j

文档评论(0)

1亿VIP精品文档

相关文档