| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 学习贪心算法 -> 正文阅读 |
|
[数据结构与算法]学习贪心算法 |
一、贪心算法思想贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 二、什么时候采用贪心算法1.最优子结构性质 当一个问题的最优解一定包含其子问题的最优解时,称此问题具有最优子结构性质。如何理解?换句话说:最优解一定是子问题的最优解组合而成的。没有这条性质,求出的最优解一定不是最优解,所以这才是重中之重。这也是动态规划问题的基石。 2.贪心选择性质 贪心选择性质时指所求问题的整体最优解可以通过一系列局部最优的选择获得,即通过一系列的逐步局部最优选择使得问题最终的选择方案是全局最优的。 三、利用贪心法求解问题的过程通常包含三个步骤1.分解将原问题分解为若干个相互独立的阶段。? 2.解决对于每个阶段依据贪心策略进行贪心选择,求出局部的最优解。 3.合并将各个阶段的解,合并为原问题的一个可行解。 四、贪心策略的选择1.盛水最多的容器盛最多水的容器——LeetCode_AllenC6的博客-CSDN博客盛最多水的容器、贪心算法、LeetCodehttps://blog.csdn.net/m0_37707561/article/details/125504342这个题目就是用的贪心算法: 贪心策略: 首先明确一点,这个容器的高以两个边中更小的那个边为准(木桶原理) 从两边开始,每次都选两条边更小的那个,往中间移动一位,因为更小的这个后面有可能有比它更大的,这样就可能出现比当前更大的容器。 最后你会发现,贪心策略筛选出的最大容器,正好是这些所有组合中最大的,这就叫整体最优解可以通过一系列局部最优的选择 ?2.钱币找零假设1元、2元、5元、10元、20元、50元、100元的纸币分别有 贪心策略: 用贪心算法的思想,很显然,每一步尽可能用面值大的纸币即可. |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 23:44:41- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |