- 6
- 0
- 约2.03千字
- 约 9页
- 2017-06-17 发布于湖北
- 举报
2007-05-27 晴 //采用非递归深度优先遍历算法,可以将回溯法表示为一个非递归过程#includeiostreamusing 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)