下载此文档

回溯法解背包问题实验报告.docx


文档分类:IT计算机 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
Last updated at 10:00 am on 25th December 2020
回溯法解背包问题实验报告
实验4 回溯法解0-1背包问题
一 、实验要求
要求用回溯法求解0-1背包问题;
Last updated at 10:00 am on 25th December 2020
回溯法解背包问题实验报告
实验4 回溯法解0-1背包问题
一 、实验要求
要求用回溯法求解0-1背包问题;
要求交互输入背包容量,物品重量数组,物品价值数组;
要求显示结果。
二 、实验仪器和软件平台
仪器 :带usb接口微机
软件平台:WIN-XP + VC++
三 、实验源码
#include ""
#include<iostream>
#include<cstdio>
#include<>
#include<iomanip>
using namespace std;
template<class ty>
class Knap
{
public:
friend void Init();
friend void Knapsack();
friend void Backtrack(int i);
friend float Bound(int i);
bool operator<(Knap<ty> a)const
{
if(fl< return true;
else return false;
}
private:
ty w; ;
cout<<endl;
cout<<"请依次输入"<<n<<"个物品的价值P:"<<endl;
for(i=0;i<n;i++)
cin>>bag[i].v;
for(i=0;i<n;i++)
{
bag[i].flag=0; bag[i].kk=i;
bag[i].fl=*bag[i].v/bag[i].w;
}
}
void Backtrack(int i)
{
if(i>=n) <=c) lag=1; cw+=bag[i].w;
cp+=bag[i].v; Backtrack(i+1);
cw-=bag[i].w; cp-=bag[i].v;
}
if(Bound(i+1)>bestp)lag=0; Backtrack(i+1);
}
}
<=cleft)
{
;
b+=bag[i].v;
i++;
}
/bag[i].w * cleft;
return b;
}
void Kna

回溯法解背包问题实验报告 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人艳子
  • 文件大小50 KB
  • 时间2022-08-01