1 贪心算法的性质

贪心算法没有一个精准的定义。

如果一个算法满足以下性质,那么我们认为这个算法是贪心的:

1)每次以一个没有回溯的方法构建小步骤解决方案

2)每一步都找到可以改善局部或者全局状态的决策结果

2 贪心算法的优劣

2.1 贪心算法的优点

1)执行很方便,执行时间通常很短

2)可以通过贪心算法发现一些问题中有趣而有用的结构

3)当问题没有被很好地理解时,贪心算法可以作为第一步启发式的解决方案。(问题很难,一开始不知道怎么解的时候,可以用贪心算法;看算法是不是work?如果不work,通过贪心算法有没有什么可以改进的地方?)

2.2 贪心算法的劣势

1)很多情况下,贪心算法可能不work

2)对于所有问题,我们几乎都可以发现一个或者多个贪心算法。但是找到最优的一个,并证明算法的正确性是很有挑战的

——>每一个贪心算法,都需要证明它的正确性

3 贪心算法举例:任务调度

3.1 任务描述

NTU课程:MAS714(4):贪心相关推荐

  1. NTU 课程: MAS714(3) DFS BFS(搜索算法)

    在NTU课程:MAS714 (3)Graph Algorithms_UQI-LIUWJ的博客-CSDN博客中,我们讲了图中点遍历的问题,其中,我们讲到SmartExplore: 正如之前分析的那样,它 ...

  2. NTU课程笔记 mas714复习:例题

    1 画DFA 1.1 题目描述 1.2 思路 先绘制相应的NFA 然后使用NTU 课程辅助笔记: NFA到DFA的转化_UQI-LIUWJ的博客-CSDN博客 将NFA转化成DFA 0 1 {A} { ...

  3. NTU 课程笔记: CV6422 regression

    0 回顾 在NTU 课程笔记:Nonparametric statistics_UQI-LIUWJ的博客-CSDN博客中,介绍了 Spearman Rank Correlation,来判断一对有样本之 ...

  4. NTU 课程笔记: MAS714 1415 regular language

    1 几个概念 字母表Σ 一组非空.有限数量的元素(英文翻译为symbol)组成的集合 字母表的字符串 这个字母表中元素组成的有限长度的序列 ε 长度为0的字符串(空串) X和y的拼接 (concate ...

  5. NTU 课程笔记:MAS714(9) 动态规划

    1  动态规划和分治的区别 分治:问题分成几个独立的子问题,他们会分别解决.最后再将各个子问题的结果合并成一个大的结果 动态规划:问题分成几个相互依赖或者重叠的问题.使用空间换时间的方法避免重复计算, ...

  6. NTU课程笔记 MAS714(8) 分治与排序

    1 分治主要思想 将问题分割成多个子问题(divide ) 递归地解决问题 把子问题的结果合并成总问题的结果(conquer) 2 排序 2.1 插入排序 假设输入是A[1...n] 2.1.1 时间 ...

  7. ntu 课程笔记 :MAS714(7) 最短路径和优先队列

    DFS & BFS_UQI-LIUWJ的博客-CSDN博客 中所说的图的遍历问题 1.2 naive shortest path 1.2.1 铺垫 BFS通过和源节点之间的距离,一层一层地向外 ...

  8. NTU课程:MAS714 (3)Graph Algorithms

    1 图(graph)的定义 2 图的表示 2.1 邻接矩阵 2.1.1 邻接矩阵的优点 在O(1)的时间复杂度下,就可以判断一条边(u,v)是否存在(直接看第u行第v列那个元素即可) 可以做关于矩阵的 ...

  9. NTU课程笔记 MAS714(2) Big-O notations

    1 有效率的算法 什么样的算法算是有效率呢? 如果一个算法的时间复杂度大于等于,那么可以认为这个算法是没有效率的 原因在于,我们考虑暴力算法 就是我们枚举所有可能的结果,判断他们是不是正确的答案,所有 ...

最新文章

  1. 如何在单页应用程序Angular 7中使用FastReport Core Web报表
  2. 对软件测试工程师面试题目的回答[转]
  3. 广域网域内流量工程优化—Vecloud
  4. AWS CSAA -- 04 AWS Object Storage and CDN - S3 Glacier and CloudFront(三)
  5. [基础|理论|实验]Sizeof与Strlen的区别与联系
  6. Cisco设备做流量监控的方法
  7. 模拟灰度传感器循迹的程序_PLC编程,实例讲解西门子PLC模拟量编程
  8. 计算机网络技术专业发展现状,计算机网络技术的发展现状和前景
  9. 微服务跨数据库联合查询_数据库跨库查询
  10. libevent源码深度剖析-张亮
  11. 小型pascal编译器C语言代码,Pascal简单编译器
  12. 初次使用dcm4che-tool-findscu做查询
  13. 22东华大学计算机专硕854考研上岸实录
  14. NFT+体育,卡塔尔世界杯有哪些NFT看点!
  15. r 选取从小到大的数据_R语言第二章数据处理⑥dplyr包(1)列选取
  16. 数字中国城市巡礼之枣庄:大数据时代的微缩盛宴!
  17. at/atq/atrm
  18. mac日历显示国家节假日及补班日期
  19. DAZ3D STUDIO Iray照明教程
  20. 《Kinect应用开发实战:用最自然的方式与机器对话》一3.5 从深度图像到骨骼图...

热门文章

  1. flash _currentframe+指定帧步 控制线程
  2. IOS开发-GitHub使用详解
  3. bitMap保存图片
  4. 创建Qt对话框一般步骤
  5. Debian的GRUB开机画面和好看的命令行
  6. PAT甲级1013 Battle Over Cities:[C++题解]并查集、结构体存边
  7. linux安装mysql5.7.18_Linux 安装MySQL5.7.18
  8. Linux JQ 命令学习笔记
  9. Linux信号 三 信号发送接口集合
  10. linux获取网卡的ip,Windows和Linux系统下获取多网卡的ip地址