【问题描述】
给定n个重量为{w1,w2,...wn},价值为{v1,v2,...,vn}的物品和一个容量为C的背包,0、1背包问题是求这些物品中的一个
最有价值的子集,并且能够装入背包中。
【基本算法思想】
暴力法:
用暴力法解决0、1背包问题,需要考虑给定n个物品集合的所有子集,找出所有重量不超过背包重量的子集,计算其每个子集的
总价值,比较输出价值最大的那个子集。
复杂度分析: 一个具有n个元素的集合,其子集数量为2的n次方,暴力法全集遍历时,其复杂度为O(2的n次方)。
【源代码】
//0-1背包问题c++语言实现
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
#include<iostream>
using namespace std</