第三篇 贪心思想

这个贪心的行为在算法中也成为了一种指导思想,也就是说贪心算法所作出的选择在当时的环境下是最好的,说深一点就是它只是某种

意义上的局部最优解,但不一定是全局最优解,此时往往接近于最优解。

一: 优点

前面也说了,贪心只是求的当前环境下的最优解,而不是追究整体的最优解,所以贪心就避免了为求的整体最优解而枚举各种方案所

耗费的时间。

二: 问题

① 不能保证贪心所得出的解是整体最优的。

② 不能用来求最大解和最小解问题。

③ 只能求满足某些约束条件的可行解的范围。

三: 案例

“背包问题”

“找零钱的问题“

代码自己敲。。。

时间: 2024-10-25 18:08:13

第三篇 贪心思想的相关文章

第三篇——第二部分——第五文 配置SQL Server镜像——域环境SQL Server镜像日常维护

本文接上面两篇搭建镜像的文章: 第三篇--第二部分--第三文 配置SQL Server镜像--域环境:http://blog.csdn.net/dba_huangzj/article/details/28904503第三篇--第二部分--第四文 配置SQL Server镜像--非域环境:http://blog.csdn.net/dba_huangzj/article/details/27652857 在搭建的过程中,可能你会遇到比较多的问题,下面介绍一些常见的问题及解决方案,另外把主要精力放到对

并行计算复习————第三篇 并行计算理论基础:并行数值算法

第三篇 并行计算理论基础:并行数值算法 注:此篇较水,=.= Ch9 稠密矩阵运算 9.1 矩阵的划分 矩阵的划分一般分为带状划分和棋盘划分,在此基础上又有循环划分的变体: 带状划分:把矩阵的若干行或若干列连续地划分给一个处理器 循环带状划分:把矩阵的若干行或若干列间断且等间隔地划分给一个处理器 棋盘划分:把方阵连续地划分成若干子方阵,每个处理器指派一个子方阵 循环棋盘划分:把方阵间断且等间隔地划分成若干子方阵,每个处理器指派一个子方阵 一般情况下,棋盘划分的划分方法能够开发出更高并行度的算法

javascript面向对象系列第三篇——实现继承的3种形式

前面的话 学习如何创建对象是理解面向对象编程的第一步,第二步是理解继承.开宗明义,继承是指在原有对象的基础上,略作修改,得到一个新的对象.javascript主要包括类式继承.原型继承和拷贝继承这三种继承方式.本文是javascript面向对象系列第三篇——实现继承的3种形式 类式继承 大多数面向对象的编程语言都支持类和类继承的特性,而JS却不支持这些特性,只能通过其他方法定义并关联多个相似的对象,如new和instanceof.不过在后来的ES6中新增了一些元素,比如class关键字,但这并不

spring第三篇

在昨天下午更新sprin第二篇中,叙述了将对象交给spring创建和管理,今天在spring第三篇中,主要写两个点一是spring的思想 二是spring中bean元素的属性配置. 1 spring思想 1.1 IOC(Inverse of  Control) :控制反转,将对象的创建权交给了 Spring. 1.2  DI :Dependency Injection 依赖注入.需要有IOC 的环境,Spring 创建这个类的过程中,Spring 将类的依赖的属性设置进去. 实现IOC 需要DI

图论——关于Dijkstra的贪心思想

引语 作为求解最短路问题的算法中最稳健的算法,Dijkstra以其惊奇的操作和独特的魅力,吸引了无数OIer学习.钻研.身为一名蒟蒻,本人以有限的能力付诸仔细的思考,对于Dijkstra算法中贪心思想的正确性有了新的认识. 咳咳,相信我,这是一篇很正常的博客,本人也是一名很正常的博主. 大多数OIer在初学Dijkstra算法时都不求甚解,单纯的把板子背下来就算了,而对于其中的贪心思想的内涵并没有做过深入挖掘.对于其贪心算法的正确性,我以我个人的理解,进行非严格的证明,希望有助于大家理解Dijk

HttpApplication处理对象与HttpModule处理模块 (第三篇)

一.HttpApplication对象简述 在HttpRuntime创建了HttpContext对象之后,HttpRuntime将随后创建一个用于处理请求的对象,这个对象的类型为HttpApplication. HttpRuntime管理一个定义在System.Web命名空间下的HttpApplicationFactory类的时候,HttpApplicationFactory通过工厂模式管理HttpApplication对象.在HttpApplicationFactory内部维护了一个HttpA

Python之路【第三篇】:Python基础(二)

Python之路[第三篇]:Python基础(二) 内置函数 一 详细见python文档,猛击这里 文件操作 操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 1 文件句柄 = file('文件路径', '模式') 注:python中打开文件有两种方式,即:open(...) 和  file(...) ,本质上前者在内部会调用后者来进行文件操作,推荐使用 open. 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作.

SylixOS ARM BSP 第三篇【bspInit.c】

此篇博客为 SylixOS ARM BSP 编写连载的第三篇,主要介绍 bspInit.c 文件具体实现. bspInit.c 为 BSP 操作系统初始化部分代码,通常由 startup.S 初始完基本处理器参数后调用,下面以 S3C2440A 处理器为例,逐块介绍 bspInit.c 代码. SylixOS ARM BSP 第二篇中提到 startup.S 初始化完成会将会调用 bspInit() 函数,此函数用于初始化操作系统,并开始多任务调度. int bspInit (void) {  

谷歌的三篇论文

传说中的谷歌三篇论文 MapReduce: Simpli?ed Data Processing on Large Clusters The Google file system Bigtable: A Distributed Storage System for Structured Data 谷歌学术立搜可下,每日潜心研习,假以时日,便可大成.