贪心的概念

文章目录

贪心的定义和思想

贪心是一种算法思想,其含义是在求解过程中每一步总是做出当前的最优选择。贪心思想不考虑全局最优,只考虑局部最优。

贪心思想在之前已经有所涉及,哈夫曼树的构建就是基于贪心的思想,图算法中的单源最短路径和最小生成树也是基于贪心的思想。

由于贪心思想为只考虑局部最优,因此使用贪心策略得到的结果不一定是全局最优解。

贪心问题的求解思路为,将问题分解成多个子问题,对于每个子问题得到局部最优解,将子问题的局部最优解合成原始问题的解。

贪心的要素

贪心的要素有两点,一是贪心选择性质,二是最优子结构性质。

贪心选择性质的含义是问题的全局最优解可以通过贪心选择达到,每次贪心选择都得到局部最优解,并将问题简化成规模更小的子问题。

最优子结构性质的含义是问题的最优解包含子问题的最优解。

只有当问题具备贪心的要素时才能使用贪心策略得到最优解。使用贪心策略时,需要证明贪心策略可以得到全局最优解,即问题具有贪心选择性质和最优子结构性质,证明的思路是不使用贪心策略时不可能得到更优解。

贪心的优点和缺点

贪心的优点是实现较为简单,且时间复杂度通常较低。当数据规模较大时,使用贪心策略可以在较短的时间内得到答案。

贪心的缺点是不能确保得到全局最优解,当局部最优策略与全局最优策略不一致时,使用贪心策略得到的解一般不是全局最优解。

目录

  1. 贪心题目:和有限的最长子序列
  2. 贪心题目:非递增顺序的最小子序列
  3. 贪心题目:数组大小减半
  4. 贪心题目:玩筹码
  5. 贪心题目:种花问题
  6. 贪心题目:保持城市天际线
  7. 贪心题目:分割平衡字符串
  8. 贪心题目:卡车上的最大单元数
  9. 贪心题目:数组拆分
  10. 贪心题目:三角形的最大周长
  11. 贪心题目:K 次取反后最大化的数组和
  12. 贪心题目:柠檬水找零
  13. 贪心题目:分发饼干
  14. 贪心题目:运动员和训练师的最大匹配数
  15. 贪心题目:优势洗牌
  16. 贪心题目:递减元素使数组呈锯齿状
  17. 贪心题目:划分字母区间
  18. 贪心题目:交换字符使得字符串相同
  19. 贪心题目:令牌放置
  20. 贪心题目:两地调度
  21. 贪心题目:最少的后缀翻转次数
  22. 贪心题目:不含 AAA 或 BBB 的字符串
  23. 贪心题目:具有给定数值的最小字符串
  24. 贪心题目:十-二进制数的最少数目
  25. 贪心题目:坏了的计算器
  26. 贪心题目:得到目标值的最少行动次数
  27. 贪心题目:使绳子变成彩色的最短时间
  28. 贪心题目:所有排列中的最大和
  29. 贪心题目:翻转矩阵后的得分
  30. 贪心题目:字符频次唯一的最小删除次数
  31. 贪心题目:构造 K 个回文字符串
  32. 贪心题目:单调递增的数字
  33. 贪心题目:行相等的最少多米诺旋转
  34. 贪心题目:删除子字符串的最大得分
  35. 贪心题目:Dota2 参议院
  36. 贪心题目:救生艇
  37. 贪心题目:受标签影响的最大值
  38. 贪心题目:交换一次的先前排列
  39. 贪心题目:最多能完成排序的块
  40. 贪心题目:安排工作以达到最大收益
  41. 贪心题目:需要教语言的最少人数
  42. 贪心题目:给定行和列的和求可行矩阵
  43. 贪心题目:加油站
  44. 贪心题目:分发糖果
  45. 贪心题目:最大数
  46. 贪心题目:和为 K 的最少斐波那契数字数目
  47. 贪心题目:得到目标数组的最少函数调用次数
  48. 贪心题目:和为目标值且不重叠的非空子数组的最大数目
  49. 贪心题目:用最少数量的箭引爆气球
  50. 贪心题目:任务调度器
  51. 贪心题目:可以到达的最远建筑
  52. 贪心题目:吃苹果的最大数目
  53. 贪心题目:重构 2 行二进制矩阵
  54. 贪心题目:最长快乐字符串
  55. 贪心题目:无重叠区间
  56. 贪心题目:形成目标数组的子数组最少增加次数
  57. 贪心题目:青蛙过河 II
  58. 贪心题目:分割数组为连续子序列
  59. 贪心题目:排布二进制网格的最少交换次数
  60. 贪心题目:IPO
  61. 贪心题目:最小区间
  62. 贪心题目:最多可以参加的会议数目
  63. 贪心题目:最大的团队表现值
  64. 贪心题目:距离相等的条形码
  65. 贪心题目:重构字符串
  66. 贪心题目:避免洪水泛滥
  67. 贪心题目:最多能完成排序的块 II
  68. 贪心题目:修改后的最大二进制字符串
  69. 贪心题目:按要求补齐数组
  70. 贪心题目:超级洗衣机
  71. 贪心题目:设置交集大小至少为 2
  72. 贪心题目:雇佣 K 名工人的最低成本
  73. 贪心题目:完成所有任务的最少初始能量
  74. 贪心题目:完成所有交易的初始最少钱数
  75. 贪心题目:翻转子数组得到最大的数组值
  76. 贪心题目:让数组不相等的最小总代价
  77. 贪心题目:强密码检验器
相关推荐
论文复现现场10 小时前
WRF、FEA 能用 L40S 加速吗?求解器检查、断点恢复与长期运行
java·数据库·算法·wrf·有限元分析·gpu计算·断点续算
ZhengEnCi10 小时前
用 AI 写代码为什么拼到最后还是拼人:算力瓶颈与领域专家提示词的本质差异
算法·架构
秋天的怀念_David11 小时前
第二十一夜 · 数字黑洞与西西弗斯的惩罚
java·程序人生·算法
碧海银沙音频科技研究院12 小时前
在PC电脑上用Whisper→Marian算法实现离线语音翻译功能
算法·whisper
niyongsheng12 小时前
3D 装箱算法工程化:数据结构、放置启发式与支撑规则
数据结构·算法·rust
叉烧滑蛋14 小时前
B站台湾大学郭彦甫|MATLAB 学习笔记|04 变量与档案存取
数据结构
j7~15 小时前
【穷举、深搜与回溯算法】一棵决策树讲透全排列与子集
数据结构·c++·算法·leetcode·回溯·递归
傅科摆 _ py16 小时前
DP,贪心,堆和栈,二分力扣复习
开发语言·python·算法
Shaoshing16 小时前
LeetCode100 42.接雨水
java·算法·leetcode
域限奇点访客16 小时前
用AI生成问卷的网站怎么选?看题目录入结构、题型映射和生成后的校验
算法