哪些题可以使用贪婪算法
每一步都必须有机会能填满题目所给的容器大小(即每一步局部最优解都有成为全局最优解的可能性),或者容器没有大小限制。
如:普通背包问题(可以只取一部分)和0-1背包问题。前者可以保证每一步都有机会填满背包,而后者无法确保每一步都有机会填满容器,故无法使用贪心算法。
如:Dijkstra算法求最短路径,对每一步的选择都没有路径大小限制,也即每一步的局部最优解都有机会成为全局最优解,故可以使用贪心算法。
当然,以上只是大概率上的总结,缺乏严格的理论论证,所以啊,还是得慎用贪婪算法啊!!
哪些题可以使用贪婪算法最先出现在Python成神之路。
共有 0 条评论