背包问题的回溯法求解实验报告.docVIP

  • 15
  • 0
  • 约3.99千字
  • 约 7页
  • 2019-07-27 发布于江西
  • 举报
一、实验目的 理解回溯法的思想。 掌握一些经典的问题解决方法。 二、实验内容与实验步骤 0-1背包问题 ? 问题描述 给定n种物品和一背包。物品i的重量是wi0,其价值为vi0,背包的容量为c。问应如何选择装入背包中的物品,使得装入背包中物品的总价值最大? ? 编程任务 利用回溯法试设计一个算法求出0-1背包问题的解,也就是求出一个解向量xi (xi = 0 或1,xi = 0表示物体i不放入背包,xi =1表示把物体i放入背包), 使得尽量多的价值装入背包。 ? 数据输入 由文件input.txt提供输入数据n,c,及每个物品的重量w[ ]和价值v[ ]。 ? 结果输出 程序运行结束时,将最优解输出到文件output.txt中。 输入文件示例 输出文件示例 input.txt output.txt 4 5 2 1 3 2 12 10 20 15 1 1 0 1 三、实验环境 操作系统 Windows 7 调试软件 VC++6.0 上机地点 综合楼211 四、问题分析 分析要解决的问题,给出你的思路,可以借助图表等辅助表达。 01背包问题用回溯法实现就是要枚举其所有的解空间,时间复杂度为左右。 搜索的具体方法如下: 对于每一个物品i,对于该物品只有选与不选2个决策,总共有n个物品,可以顺序依次考虑每个物品,这样就形成了一

文档评论(0)

1亿VIP精品文档

相关文档