0-1 背包问题、背包问题、最优装载问题、哈夫曼编码,这几个问题的思想是什么?
来源:互联网 发布:移动网络了解 编辑:程序博客网 时间:2024/04/29 20:54
0-1背包问题:
给定n种物品和一个背包。物品i的重量是Wi,其价值为Vi,背包的容量为C。应如何选择装入背包的物品,使得装入背包中物品的总价值最大?在选择装入背包的物品时,对每种物品i只有2种选择,即装入背包或不装入背包。不能将物品i装入背包多次,也不能只装入部分的物品i。
背包问题:
与0-1背包问题类似,所不同的是在选择物品i装入背包时,可以选择物品i的一部分,而不一定要全部装入背包,1≤i≤n。
解决方法:求每个物品的价值重量比,即价值/重量。然后添加价值重量比最大的物品,添加结束如果未达到重量上限,再添加价值重量比次大的。
最优装载问题:
有一批集装箱要装上一艘载重量为c的轮船。其中集装箱i的重量为Wi。最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。
解决方法:每次装重量最轻者。
哈夫曼编码:
给出现频率高的字符较短的编码,出现频率较低的字符以较长的编码。对每一个字符规定一个0,1串作为其代码,并要求任一字符的代码都不是其它字符代码的前缀。这种编码称为前缀码。
以上四个问题除了0-1背包问题外都可以用贪心法的思想求解,从许多可以用贪心法求解的问题中可以看到它们一般具有两个重要性质:贪心选择性质、最优子结构性质
其中,所谓贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。动态规划算法通常以自底向上的方式解各子问题,而贪心算法则通过以自顶向下的方式进行。
当一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质
0 0
- 0-1 背包问题、背包问题、最优装载问题、哈夫曼编码,这几个问题的思想是什么?
- 背包问题,最优装载问题
- 最优装载问题或者01背包问题的分支限界法求解
- 背包问题的解题思想
- 背包问题基本思想
- 高效算法设计_贪心法(最优装载问题,部分背包问题,乘船问题)
- 背包问题--输出最优方案
- 回溯法-求解装载问题(类似0-1背包)
- 0022算法笔记——【贪心算法】背包问题,最优装载问题
- 0022算法笔记——【贪心算法】背包问题,最优装载问题
- 0022算法笔记——【贪心算法】背包问题,最优装载问题
- 装载问题(动态规划背包问题)
- 用回溯法求解0—1背包问题,并输出问题的最优解
- 背包问题和0-1背包问题
- 背包问题和0-1背包问题
- 背包问题系列--"0-1背包问题"
- 0-1装载问题求得最优解
- 背包笔记-含0/1背包问题、完全背包问题、多重背包问题、二维背包问题、分组背包问题
- java singleton pattern
- ios笔记之- UISearchDisplayController 无搜索结果下的文字定义
- 用C语言操作MySQL数据库
- cocos2dx-3.x 导入lua扩展库
- IOS学习笔记29—提示框第三方库之MBProgressHUD
- 0-1 背包问题、背包问题、最优装载问题、哈夫曼编码,这几个问题的思想是什么?
- 【将金令】1.3预测:非农决定多空博弈
- 20150102
- Web 新租用了一个域名和虚拟主机
- 考研也考完了,继续ACM。
- c++语言中class中的virtual函数的隐藏和屏蔽
- “NPC”程序员涉足游戏行业初体验
- 10.3.1 树处理的难点
- iOS中如何生成变暗的图片