贪心算法

贪心算法

  • 贪心算法:
    • 在每一步选择中都采取当前状态下的最优决策 (局部最优)。
    • 并希望由此导致的最终结果是全局最优。
  • 贪心算法与一般的搜索,以及动态规划相比,不同之处在于:它不对整个状态空间进行遍历或计算,而是始终按照局部最优选择执行下去,不再回头。
  • 因为这个特性,贪心算法不一定 能得到正确的结果,除非可以证明,按照适当的方法做出局部最优选择,依然可以得到全局最优结果。
  • 能用贪心算法求解的题目,也都可以用搜索或动态规划求解,但贪心算法一般是最高效的。
  • 遇到题目,先想搜索、动态规划等基于全局的解法,若时间复杂度太高,再考虑贪心。

LeetCode 练习题


相关推荐
青少儿编程课堂34 分钟前
迪杰斯特拉(Dijkstra)算法:单源最短路与赛场路线规划
c++·python·算法·bfs·信息学竞赛
不会就选b43 分钟前
算法日常・每日刷题--<动态规划>19
算法·leetcode·职场和发展
没有钱的钱仔2 小时前
协方差矩阵含义
算法·机器学习·矩阵
垆边人似月.2 小时前
华为机试题 :和为 K 的子数组个数
算法·leetcode·华为
三*一2 小时前
优化修整算法
前端·javascript·算法
达子6663 小时前
RUST 图解 第 3 章:通用编程概念(Common Programming Concepts)
开发语言·算法·rust
夏幻灵3 小时前
每日一题:LeetCode 165:比较版本号
算法·leetcode·职场和发展
道尔柯南3 小时前
C++ 面向对象编程入门:类和对象(上)
开发语言·c++·算法
Navigator_Z3 小时前
LeetCode //C - 1288. Remove Covered Intervals
c语言·算法·leetcode