数据结构--01背包问题
来源:互联网 发布:淘宝gxg官方店是真的吗 编辑:程序博客网 时间:2024/06/12 01:21
0-1背包问题递归求解,主要在理解递归思想,从假设装满背包看起,判断把数组中最后一个物品装进去的价值和不装进去进行比较。
#include<iostream>#define N 100#define W 100using namespace std;int w[N];int v[N];int x[N];int package(int n,int m){ if(n==0||m==0) { return 0; } else if(w[n]<=m&&(package(n-1,m)<(package(n-1,m-w[n])+v[n]))) { x[n]=1; return package(n-1,m-w[n])+v[n]; } else { x[n]=0; return package(n-1,m); }}int main(){ int n,m; int i; cout<<"请输入物品数n和背包最大装物品重量m: "; cin>>n>>m; for(i=1; i<=n; i++) { cout<<"请输入第"<<i<<"个物品的价值和重量(v,w):"; cin>>v[i]>>w[i]; cout<<endl; } cout<<"最优解的最大价值:"<<package(n,m)<<endl; for(i=0;i<n;i++) { if(x[i]) cout<<i+1<<" "; }}
0 0
- 数据结构--01背包问题
- C++数据结构--背包问题
- 数据结构-背包问题
- 算法与数据结构-背包问题
- 数据结构作业之背包问题
- 背包问题---01背包
- 重新开始战斗18-数据结构与算法-01背包问题
- 数据结构基础 从01背包问题理解动态规划
- 数据结构上机实验五——01背包问题
- 数据结构经典算法学习之01背包问题
- 数据结构(C#)-- 贪心算法解决背包问题
- 算法与数据结构 - 0/1背包问题
- 数据结构学习-递归(背包问题)
- 数据结构经典算法学习之多背包问题
- DP 背包问题 01背包
- 01背包--苹果,背包问题
- 01背包 完全背包问题
- 背包问题之01背包
- 设计模式的应用
- 接口安全之签名
- Android 基于google Zxing实现二维码的生成,识别和长按识别的效果
- 实现分数类中的运算符重载,在分数类中可以完成分数的加减乘除(运算后再化简)、比较(6种关系)的运算
- android intentFilter 详解
- 数据结构--01背包问题
- 开源项目之AndroidImageSlider图片多姿势轮播
- Java静态属性和方法的继承问题
- 数据结构_P6
- (二) Q - Q tricky sum
- Node.js Express目录结构
- unity做陶艺(动态改变模型网格)
- UIScrollView的PageEnable可以实现slider
- Docker 入门教程(四)