贪心算法
--
0
-
1
背包问题
1
贪心算法
--0-1
背包问题
1
、问题的描述
有编号分别为
a,b,c,d,e
的五件物品,
它们的重量分别是
2,4,2,1,3
?/p>
它们的价值分别是
3,5,6,4,6
?/p>
现在给你个承重为
10
的背包,
如何让背包里装入的物品具有最大的价值总和?/p>
贪心算法的思想:贪心原则为单位价值最大且重量最小,不超过背包最大承重量为约
束条件。也就是说,存在单位重量价值相等的两个包,则选取重量较小的那个背包?/p>
2
、代码及注释
#include <stdio.h>
#define M 5
//
定义一?/p>
node
结构体,用来存放物体的重量和价?/p>
struct node
{
float value;//
价?/p>
float weight;//
重量