实验: 0/1 背包问题
一、 实验目的与要求:
熟悉 C/C++语言的集成开发环境;
通过本实验加深对贪心算法、动态规划和回溯算法的理解。
二、 实验内容:
掌握贪心算法、动态规划和回溯算法的概念和基本思想,分析并掌握 "0-1"背包问题的
三种算法,并分析其优缺点。
三、 实验题:
1. "0-1"背包问题的贪心算法
2. "0-1"背包问题的动态规划算法
3. "0-1"背包问题的回溯算法
四、 实验步骤:
1. 理解算法思想和问题要求;
2. 编程实现题目要求;
3. 上机输入和调试自己所编的程序;
4. 验证分析实验结果;
5. 整理出实验报告。
五、 实验程序:
贪心算法:
#include <iostream.h>
#include <time.h>
#include <stdlib.h>
#include "windows.h"
struct goodinfo
{
int p; //物品效益
int w; //物品重量
int X; //物品该放的数量
float rat;//物品效益,重量比
int flag; //物品编号
}; //物品信息结构体
void Insertionsort(goodinfo goods[],int n)
{
int j,i;
for(j=2;j<=n;j++)