算法简介
贪婪算法
- 每步都选择局部最优解,最终得到的就是全局最优解.属于近似算法的一种
2. 解决问题
- 主要是为了解决类似NPC问题,比如(包括但不限于):
- 背包问题
- 集合覆盖问题
- 旅行商问题
- 任务调度问题
- 文件压缩----哈夫曼编码
- 近似装箱问题:详细介绍
3. 时间复杂度:
如不用贪婪算法,采用精确算法:
- 背包问题:O(2^N)
- 集合覆盖问题:O(2^N)
- 旅行商问题:O(N!)
- 哈夫曼算法:O(ClogC),C为出现的字母总数
- 近似装箱算法:O(NlogN)
如不用贪婪算法,采用精确算法: