- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法综合实验报告
学 号: 1004121206 姓 名: 林
一、实验内容:
分别用蛮力、动态规划、贪心及分支限界法实现对0-1背包问题的求解,并至少用两个测试用例对所完成的代码进行正确性及效率关系上的验证。
二、程序设计的基本思想、原理和算法描述:
蛮力法
1.1数据结构
注:结构体obj用来存放单个物品的价值和重量
typedef struct obj
{
int w;//物品的重量
int v;//物品的价值
};
1.2 函数组成
void subset(int s[][10],int n):用来生成子集的函数
void judge(int s[][10], obj obj[],int mark[],int n,int c):判断子集的可行性
int getmax(int mark[],int n,int flag):求解问题的最优解
void outputObj(int flag,int s[][10],int n):输出选择物品的情况
1.3 输入/输出设计
本程序通过键盘进行输入、屏幕进行输出。
1.4 符号名说明
符号 说明 S[][] 存放子集 mark[] 记录子集的可行性 n 物品的个数 c 物品的容量 max 记录背包所能产生的最大价值 flag 记录能产生最大价值的子集的编号
1.5 算法描述
算法的伪代码描述如下:
输入:背包的容量c,物品的个数n,n个物品的重量 w[n],价值v[n]
输出:装入背包的物品编号以及产生的最大价值
1.初始化最大价值 max=0,结果子集 s=φ;
2.对集合{1,2,......n}的每一个子集T,执行下述操作:
2.1初始化背包的价值 v=0,背包的重量 w=0;
2.2对子集t的每一个元素j
2.2.1 如果w+wjc,则 w=w+wj,v=v+vj;
2.2.2 否则,转步骤2考察下一个子集;
2.3如果maxv,则 max=v;s=t;
3.输出子集S中的各元素
动态规划法
2.1 数据结构
该程序不涉及任何数据结构
2.2 函数组成
int max(int i,int j);比较并返回两个数中的较大值
int KnapSack (int w[],int v[],int x[],int n,int c);求解背包取得的最大值
2.3 输入/输出设计
本程序通过键盘进行输入、屏幕进行输出。
2.4 符号名说明
符号 说明 n 物品的个数 c 物品的容量 w[] 物品的重量 v[] 物品的价值 x[] 物品的选择情况 V[][] 存放迭代结果
2.5 算法描述
算法的伪代码描述如下:
输入:背包的容量c,物品的个数n,n个物品的重量 w[n],价值v[n]
输出:装入背包的物品标号和背包获得的最大价值
1.初始化二维数组V[][]={0}
2.初始化二维数组的第0行,第0列
2.循环直到i==n
2.1 循环直到j=c
2.1.1 如果背包的容量不足以装入物品i,则装入前i个物品得到的最大价值和装入前i-1个物品得到的最大价值相等
2.2.2 如果背包的容量可以装入物品i,分别计算装入物品i可达到的价值量V[i-1][j-w[i]]+v[i],以及不放入物品i可以得到的最大价值V[i-1][j],取二者中的较大者作为把前i个物品装入容量为j的背包中的最优解
贪心法
3.1数据结构
注:结构体用来存放物品的重量、
您可能关注的文档
- 保腾高速龙江大桥锚碇施工监理实施细则范例.doc
- 保温板技术交底1范例.doc
- 船用电梯测试系统方案范例.doc
- 保温对比范例.doc
- 卤素碳族元素范例.doc
- 保温技术协议范例.doc
- 鲁JJ-005技术交底记录范例.doc
- 【备考导航】2016届高三物理二轮复习第1部分专题整合突破专题五物理实验第1讲力学实验探讨.ppt
- 保温节能工程监理细则范本2015.7.7范例.doc
- 鲁JJ-081分项工程质量验收记录范例.doc
- 精编贵州省贵阳市企业人力资源管理师之一级人力资源管理师考试精品(名师系列).docx
- 精编贵州省毕节地区企业人力资源管理师之四级人力资源管理师考试真题及答案【新】.docx
- 荷塘月色读书心得6篇_荷塘月色读后感 .pdf
- 网格化管理实施方案范文锦集9篇.pdf
- 精编贵州省黔西南布依族苗族自治州企业人力资源管理师之一级人力资源管理师考试题库附答案【实用】.docx
- 观看《我和我的父辈》个人心得体会2023 .pdf
- 精编贵州省黔南布依族苗族自治州企业人力资源管理师之四级人力资源管理师考试内部题库【真题汇编】.docx
- 精编贵州省黔东南苗族侗族自治州企业人力资源管理师之四级人力资源管理师考试通关秘籍题库附答案(能力提升.docx
- 职业健康安全生产工作讲话.pdf
- 精编贵州省遵义市企业人力资源管理师之四级人力资源管理师考试及参考答案(B卷).docx
文档评论(0)