贪心算法
什么是贪心算法:
贪心算法(又称贪婪算法),是指在对问题求解时,总是做出当前最优解和最好选择。也就是说,不从整体最优解上加以考虑,它所做出的是在某种意义上的局部最优解。贪心算法的核心思想是在每一个决策点上,都做出当前看起来最优的选择,而不考虑这种选择对后续决策的影响,期望通过一系列局部最优的选择来达到全局最优解。
贪心算法注意点:
1.问题的全局最优解可以通过一系列局部最优选择来得到。
2.问题的最优解包含其子问题的最优解。即原问题的最优解可以由子问题的最优解组合而成。
贪心算法解决问题过程:
1.建立模型来描述问题;
2.把求解的问题分成若干个子问题;
3.对子问题一一求解,得到子问题的最优解;
4.把子问题的最优解合成原来问题的一个解。
优点:
1.算法简单,易于实现,代码复杂度通常较低。
2.时间复杂度较低,在很多情况下可以在多项式时间内解决问题。
缺点:
1.并不适用于所有问题,只有满足贪心选择性质和最优子结构性质的问题才能使用贪心算法求解。
1.得到的解不一定是全局最优解,需要严格证明其正确性。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)