计算机学院 算法设计和分析课程实验 背包问题
实验五:贪心算法求解背包问题
实验内容
应用贪心算法求解离散背包问题,分析时间复杂度。
有一个承重为W的背包和n个物品,它们各自的重量和价值分别是wi和vi(1<=i<=n),设 求这些物品中最有价值的一个子集。如果每次选择某一个物品的时候,只能全部拿走,则这一问题称为离散(0-1)背包问题;如果每次可以拿走某一物品的任意一部分,则这一问题称为连续背包问题。
算法思想
动态规划的思想:
– 对较小的子问题进行一次求解,并把结果记录下来,然后利用较小问题的解,
求解出较大问题的解,直到求解出最大问题的解。
–

引进一个二维数组ch[MAX][MAX],用ch[i][j]记录CH1与CH2的LCS 的长度,b[i][j]记录ch[i][j]是通过哪一个子问题的值求得的,以决定搜索的方向。
我们是自底向上进行递推计算,那么在计算ch[i,j]之前,ch[i-1][j-1],
ch[i-1][j]与ch[i][j-1]均已计算出来。此时我们根据CH1 [i] = CH2[j]还是
CH1[i] != CH2[j],就可以计算出ch[i][j]。
算法
length(string CH1,string CH2,int b[MAX][MAX])
//用于构建动态数组
//输入:两字符窜
//输出:最长公共子序列
for(i=1;i<=ch1Len;i++)//二重循环求解
for(int j=1;j<=ch2Len;j++)
{
if(CH1[i-1]==CH2[j-1])//相等字符
{
算法分析与设计-贪心算法求解背包问题_IT/计算机_专业资料。用贪心法解决背包...("pause"); return 0; 四、结果分析:对于 0-1 背包问题,贪心算法之所以不...
重庆邮电大学 算法设计与分析基础实验报告 姓名: 班级: 学号: 日期:2014 年 4 月 1 日 1.题目:贪心算法求解背包问题 2.算法的基本思想描述:贪心法是把一个...
华南农业大学 《算法分析与设计》 课程实验 专业年级:10 信息与计算科学 2 班 学生学号: 学生姓名: 22 号 梁高鼎 实验题目: 用贪婪法求解背包问题 指导老师: ...
《算法分析与设计》 1 用贪心算法求解背包问题 D 软件 101 薛思雨 511020825 一、贪心算法介绍顾名思义, 贪心算法总是作出在当前看来最好的选择。 也就是说...
理解贪心算法与动态规划算法的差异 4.理解贪心算法的一般理论 5.通过一些应用范例学习贪心设计策略 用贪心算法求解背包问题 二、实验内容、过程和结果(实验主要内容的...
实验项目三 用蛮力法、 动态规划法和贪心法求解 0... 2、对 0-1 背包问题的算法设计策略对比与分析。...的算法: void force(int a[16][4])//蛮力法...
下面给出 了 4 个物品和一个容量为 10 的背包,下图就是用穷举法求解 0-1 ...这与回溯法存在一样的缺点——计算速度慢;采用贪心 算法,虽然耗费上优于前者,...
背包问题贪心算法解决 3页 1下载券 C++应用贪心算法求解背包... 4页 1下载...算法设计与分析实验报告 题目:贪心算法 背包问题 专业:JAVA 技术 09——02 班 ...
b 压缩包内为一个“ 《算法设计与分析》实验四_学号_姓名”命名的顶层文件夹...项目请从下列题目列表中任选 2 道或 3 道题目,运用贪心算法对问题的进行求解...
实验五 应用贪心算法求解背包问题学院: 计算机科学与技术 专业:计算机科学与技术 ... 算法设计与分析实验报告... 6页 免费 0-1背包问题动态规划详解... 4页 ...
热门文档