证明贪心算法的正确性:

下面证明:

(1)最优子结构:

假设结果有n个区间,去掉最后一个区间及对应的点,则前n-1个区间仍然是覆盖所有点的所用的最少区间(最优解的子结构是子问题的最优解)

证明:

cut&paste(剪切法,本质是反证法)

假设一共M个点,覆盖所有的点至少需要n个区间,最后一个区间覆盖m个点

假设前n-1个区间不是子问题的最优解,即n-1不是覆盖前M-m个点的最少区间个数,则一定存在N,是覆盖M-m个点的最优解,且N<n-1,用N替代n-1,可得覆盖所有点最少区间个数为N+1<n

和假设至少需要n个区间矛盾。所以,问题具有最优子结构

(2)贪心选择性质:

参考:
算法设计与分析

百度百科

【算法笔记】:区间覆盖问题:贪心算法相关推荐

  1. ACM算法笔记(五)贪心算法

    贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解.贪心算法不是对所有问题都能得到整体最优解,关键是贪 ...

  2. 【数据结构和算法笔记】最小生成树(贪心算法讲解 )

    一.最小生成树(MST)概念: 生成树: 一个连通图的生成树是一个极小连通子图,含图中所有顶点,和构成这棵树的n-1条边 左图的一颗生成树是右图(图的生成树不唯一) 最小生成树: 带权连通无向图有不同 ...

  3. 《趣学算法(第2版)》读书笔记 Part 4 :贪心算法基础(操作)

    14天阅读挑战赛 系列笔记链接 <趣学算法(第2版)>读书笔记 Part 1 :如何高效学习算法 <趣学算法(第2版)>读书笔记 Part 2 :算法入门 <趣学算法(第 ...

  4. 哈夫曼编码压缩率计算_程序员的算法课(8)-贪心算法:理解霍夫曼编码

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/m0_37609579/article/ ...

  5. 程序员的算法课(8)-贪心算法:理解霍夫曼编码

    一.一种很贪婪的算法定义 贪心是人类自带的能力,贪心算法是在贪心决策上进行统筹规划的统称. [百度百科]贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体 ...

  6. 玩转算法之面试第十章-贪心算法

    leetcode 455 分配饼干 尝试将最大的饼干给最贪心的朋友 如果满足,则+1 如果不满足,则将最大的饼干给次贪心的朋友,一次类推 试图让最多的小朋友开心 在这里插入代码片 #include&l ...

  7. 数据结构与算法学习⑤(BFS和DFS 贪心算法 二分查找)

    数据结构与算法学习⑤ 数据结构与算法学习⑤ 1.BFS和DFS 1.1.深度优先搜索算法 1.2.广度优先搜索算法 面试实战 102. 二叉树的层序遍历 104. 二叉树的最大深度 515. 在每个树 ...

  8. 算法基础(Java)--贪心算法

    前言 前面简单的介绍了八大经典排序算法,此文将要介绍贪心算法,并介绍一些常见贪心算法题目. 1. 贪心算法的概念 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最 ...

  9. 五大常用算法入门(一)——贪心算法

    文章目录 1.贪心算法简介 1.1 基本定义 1.2 贪心算法案例 1.3.贪心算法的基本思路 2.贪心算法最优性证明 2.1 贪心算法的前提 2.2 最优子结构 2.3 贪心算法与动态规划的区别 3 ...

  10. 算法基础--优惠券问题(贪心算法)

    算法基础–优惠券问题(贪心算法) 近期某商场由于周年庆,开启了"0元购"活动.活动中,消费者可以通过组合手中的代金券,实现0元购买指定商品. 聪明的小团想要用算法来帮助他快速计算: ...

最新文章

  1. Android 事件与事件监听器
  2. 049_Number对象
  3. 网易超分黑科技来了!全新移动端视频体验时代来临
  4. 每日程序C语言13-求1000以内的完数
  5. 云计算作为当前趋势 能带给你哪些好处?
  6. 多元线性回归模型-数学建模类-matlab详解
  7. git head指向老版本_Git最全总结
  8. 铜陵高考2021年成绩查询,滁州高考成绩查询入口2021
  9. MongoDB Replica Set 选举过程
  10. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_04-freemarker基础-基础语法种类...
  11. 定时器 Corn时间表达式
  12. maven自定骨架创建流程
  13. jzoj6366. 【NOIP2019模拟2019.9.25】化学(chem)
  14. 基于Bootstrap的下拉框多选 Bootstrap Multiselect 插件使用
  15. 联想微型计算机设置从u盘启动,联想bios设置u盘启动教程
  16. 为什么要做汽车电子检测?国标检测及其目的
  17. 济南大学计算机水平怎么样,济南大学考研难吗?一般要什么水平才可以进入?...
  18. ffplay 播放 USB camera
  19. linux补丁更新服务器地址,windows系统之WSUS服务器:更改WSUS更新文件的路径
  20. 微软苏菲rt能装鸿蒙,微软surfacert平板电脑怎么样 微软surfacert平板电脑性能配置如何...

热门文章

  1. .NET 下运用策略模式
  2. NSIS制作安装包实例
  3. Android模拟器中添加SD卡(转)
  4. JSK-4 简单斐波那契【基础+打表+记忆化递归】
  5. Bailian2747 Bailian4146 数字方格【暴力】
  6. HDU1233 还是畅通工程【Kruskal算法+并查集】
  7. Dropout 理论基础与实战细节
  8. matlab 可变参数与默认参数设置
  9. 源码之前,了无秘密(一)——iterator adapter
  10. 使用 Java API 操作 HBase