贪心——Greedy
貪心,在生活中很常見(jiàn),即我們?cè)诿恳徊健⒚恳患挛覀兌家蟊M善盡美
如在菜市場(chǎng)買(mǎi)菜的時(shí)候我們總是希望用最低的價(jià)格買(mǎi)到最好的菜
今天我們要學(xué)習(xí)的算法就是這樣一個(gè)算法——貪心算法
概述
貪心算法是對(duì)完成一件事情的方法的描述,貪心算法每一次都做出當(dāng)前看起來(lái)最好的選擇,而不用考慮其它可能的選擇。
貪心算法的學(xué)習(xí)可以與動(dòng)態(tài)規(guī)劃算法進(jìn)行比較,看看它到底比動(dòng)態(tài)規(guī)劃算法少考慮了哪些子問(wèn)題,為什么可以少考慮那些子問(wèn)題,而每次只專(zhuān)注于求解一個(gè)子問(wèn)題,通過(guò)逐步遞推得到原問(wèn)題的答案。
貪心算法的應(yīng)用場(chǎng)景:
解決一個(gè)問(wèn)題需要多個(gè)步驟,每一個(gè)步驟有多種選擇。可以使用貪心算法解決的問(wèn)題,每一步只需要解決一個(gè)子問(wèn)題,只做出一種選擇,就可以完成任務(wù)。
可以使用「貪心算法」的問(wèn)題需要滿足的條件:
最優(yōu)子結(jié)構(gòu):規(guī)模較大的問(wèn)題的解由規(guī)模較小的子問(wèn)題的解組成,區(qū)別于「動(dòng)態(tài)規(guī)劃」,可以使用「貪心算法」的問(wèn)題「規(guī)模較大的問(wèn)題的解」只由其中一個(gè)「規(guī)模較小的子問(wèn)題的解」決定;
無(wú)后效性:后面階段的求解不會(huì)修改前面階段已經(jīng)計(jì)算好的結(jié)果;
貪心選擇性質(zhì):從局部最優(yōu)解可以得到全局最優(yōu)解。
?
通過(guò)具體例子理解「貪心算法」
分發(fā)餅干(貪心)_ZZZWWWFFF_的博客-CSDN博客
檸檬水找零(貪心/分類(lèi)/模擬)_ZZZWWWFFF_的博客-CSDN博客
總結(jié)
以上是生活随笔為你收集整理的贪心——Greedy的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java的JDK在哪里下载,如何下载?
- 下一篇: R语言——星图和脸谱图画图及函数使用笔记