贪心的概念

文章目录

贪心的定义和思想

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

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

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

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

贪心的要素

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

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

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

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

贪心的优点和缺点

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

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

目录

  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. 贪心题目:强密码检验器
相关推荐
方方洛27 分钟前
vllm教程-00-前言与导读
人工智能·算法·vllm
AI情绪识别开源34 分钟前
检信AI高一分班分科智选评估系统 v2.0测试报告
开发语言·数据结构·人工智能·科技
IT毕设实战小研44 分钟前
电影数据可视化推荐系统
大数据·后端·爬虫·python·算法·信息可视化·课程设计
且随疾风前行.1 小时前
从驱动来分析服务的添加过程
算法
CoderYanger1 小时前
A.每日一题:输入单词需要的最少按键次数 Ⅰ+Ⅱ
java·数据结构·算法·leetcode·面试
xiaokcehui2 小时前
地球物理大地测量学计算系列之十七局部重力场SRBF逼近及其性能指标测评
人工智能·算法·机器学习
雪碧聊技术3 小时前
KMP算法详解
数据结构
Navigator_Z3 小时前
LeetCode //C - 1221. Split a String in Balanced Strings
c语言·算法·leetcode
天疆说3 小时前
庞特里亚金极小值原理的详细推导
算法