没有合适的资源?快使用搜索试试~ 我知道了~
Visual C# 课程设计说明书------背包问题
需积分: 10 93 下载量 86 浏览量
2008-02-23
20:12:19
上传
评论
收藏 97KB DOC 举报
温馨提示
试读
17页
背包问题是计算机科学里的经典问题。在最简单的形式中,包括试图将不同重量的数据项放到背包中.以使背包最后达到指定的总重量。不需要把所有的选项都放入背包中。<br>举例来说,假设想要背包精确地承重20磅,并且有5个可以选择放入的数据项,它们的重量依次为11磅、8磅、7磅、6磅和5磅。对于选择放入的数据项数量不大时,人类很善于通过观察就可以解决这个问题。于是大概可以计算出只有8磅、7磅和5磅的数据项加在一起和为20磅。如果想要计算机来解决这个问题,就需要给计算机更详细的指令。<br>此次设计,我们希望能通过自己所掌握的算法对背包问题进行准确的运算,通过设计加强上机动手能力,巩固<<可视化编程>>课程学习的内容,掌握工程软件设计的基本方法,强化上机动手能力,为后续各门计算机课程的学习打下坚实的基础.<br>
资源推荐
资源详情
资源评论
Visual C#
课程设计说明书
------
背包问题
系别
:
专业
:
班级
:
学号
:
姓名
:
同组设计人员
指导教师
:
设计日期
:2007.3.9
目 录
设计目的 ------------------------------------------ 3
总体设计 -------------------------------------------3
详细设计 -------------------------------------------4
调试与测试 -------------------------------------------5
个人任务 -------------------------------------------6
源程序清单 -------------------------------------------7
设计小结 -------------------------------------------13
2
一
.
设计目的
背包问题是计算机科学里的经典问题。在最简单的形式中,包括试
图将不同重量的数据项放到背包中.以使背包最后达到指定的总重量 。
不需要把所有的选项都放入背包中。
举例来说,假设想要背包精确地承重 20 磅,并且有 5 个可以选
择放入的数据项,它们的重量依次为 11 磅、8 磅、7 磅、6 磅和 5 磅。
对于选择放入的数据项数量不大时,人类很善于通过观察就可以解决
这个问题。于是大概可以计算出只有 8 磅、7 磅和 5 磅的数据项加在
一起和为 20 磅。如果想要计算机来解决这个问题,就需要给计算机更
详细的指令。
此次设计,我们希望能通过自己所掌握的算法对背包问题进行准确
的运算,通过设计加强上机动手能力,巩固<<可视化编程>>课程学习
的内容,掌握工程软件设计的基本方法 ,强化上机动手能力,为后续各门
计算机课程的学习打下坚实的基础.
二. 总体设计
按照总体思路,我们的总体功能如下:
3
1.
对物品总数和重量定值
2.
对物品单独进行定重与定价
3.
通过递归算法对物品进行价值最大的选择计算
方案选择:
背包问 题描述:有不 同价值、 不同重量 的物品
n
件,要求 件物
品中选取一 部分物品的 选择方 案, 使选中 物品的总重 量不超过指 定
的限制重量,但选中物品的价值之和最大。
设
n
件物 品 的重 量 分别 为
w0
、
w1
、… 、
wn-1
,物 品 的价 值
分别为
v0
、
v1
、…、
vn-1
。采用递 归寻找物 品的选择方案 。设前
面已有了多 种选择 的方 案,并 保留 了其中 总价值最大 的方案于数 组
option[ ]
,该方案的总价值存于变量
maxv
。当前正在考察新方案,
其物 品选 择情 况保 存于 数组
cop[ ]
。假 定当前方案 已考 虑了 前
i-1
件物品,现在要考虑第
i
件物品;当前方案已包含的物品的重量之和
为
tw
;至此,若其余物品都选择是可能的话,本方案能达到的总价
值的期望值为
tv
。算法引入
tv
是当一旦当前方案的总价值的期望值
也小于前面方案的总价值
maxv
时,继续考察当前方案变成无意义
的工作,应 终止当 前方 案,立 即去 考察下 一个方案。 因为当方案 的
总价值不比
maxv
大时,该方案不 会被再考察,这同时保 证函数后
找到的方案一定会比前面的方案更好。
三.详细设计
4
剩余16页未读,继续阅读
资源评论
jingang123gz
- 粉丝: 162
- 资源: 145
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功