常见算法及问题场景——贪心算法
2016-09-05 21:17
357 查看
总述
1、求解思路:把问题分解为多个子问题,只要依次求出子问题的最优解,就能得到最终问题的最优解。即,只需要考虑局部最优,就能得到全局最优。2、局限性:需要先确认一个问题具有上述特点,才能使用贪心算法求解。
适用场景
1、单源最短路经问题2、最小生成树问题
3、可任意分割的背包问题。如果不可以任意分割,就需要用动态规划求解。
4、某些情况下,即使贪心算法不能得到整体最优解,其最终结果却是最优解的很好近似。
5、活动安排
设有N个活动时间集合,每个活动都要使用同一个资源,比如说会议场,而且同一时间内只能有一个活动使用,每个活动都有一个使用活动的开始si和结束时间fi,即他的使用区间为(si,fi),现在要求你分配活动占用时间表,即哪些活动占用该会议室,哪些不占用,使得他们不冲突,要求是尽可能多的使参加的活动最大化,即所占时间区间最大化!
相关文章推荐
- 常见算法及问题场景——分治
- 常见算法及问题场景——线性规划
- 常见算法及问题场景——图
- 常见算法及问题场景——动态规划
- 常见算法及问题场景——字符串匹配
- 常见算法及问题场景——散列(哈希)
- 常见算法及问题场景——图
- 算法导论 第16章 贪心算法-活动选择问题C++实现
- 【算法】----贪心算法(背包问题)
- 算法:“森林的遍历” 在 “企业应用” 的常见场景
- 常见算法:C语言求素数的问题
- 常见算法:C语言求素数的问题
- 算法java实现--贪心算法--最优装载问题
- 单链表中的常见算法问题(剑指offer5/13/15/16/17)
- 大学常见算法的java实现及思考-汉诺塔问题
- 算法java实现--贪心算法--最小生成树问题--Prim算法
- 算法java实现--贪心算法--最小生成树问题--Kruskal算法
- 转:面试中常见的一些算法问题
- 常见算法:c语言矩阵算法问题
- 0026算法笔记——【贪心算法】多机调度问题