1樓:酋長的爺爺
貪心演算法(又稱貪婪演算法)是指,在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的僅是在某種意義上的區域性最優解。貪心演算法不是對所有問題都能得到整體最優解,但對範圍相當廣泛的許多問題他能產生整體最優解或者是整體最優解的近似解。
比如最小生成樹kruskal演算法,每次在不構成環的前提下,總是選擇權最小的邊。
2樓:錢森贈
貪心演算法的基本思路
1.建立數學模型來描述問題。 2.
把求解的問題分成若干個子問題。 3.對每一子問題求解,得到子問題的區域性最優解。
4.把子問題的解區域性最優解合成原來解問題的一個解。 實現該演算法的過程:
從問題的某一初始解出發; while 能朝給定總目標前進一步 do 求出可行解的一個解元素; 由所有解元素組合成問題的一個可行解。 下面是一個可以試用貪心演算法解的題目,貪心解的確不錯,可惜不是最優解。
3樓:庫洛裡多
很形象的說貪心演算法,只注重當前利益最大化,即選擇當前步驟的最優解。
貪心演算法,這個貪心到底是什麼意思
4樓:
貪心指目光短淺,只看到當前這一步的最優決策,而不考慮以後的決策。這樣的演算法只在特定的問題下是正確的。
5樓:匿名使用者
貪心演算法就是個傻瓜演算法.不一定是最優解,但是呢,最不費腦子.
舉個例子,一維下料.比如線性原料,類似鋼管這種的,原料長度有一種尺寸比如5米,需要切割加工成若干長短不一的管材,貪心演算法就是:
取一根鋼管,選一個最大值對其切割,餘料如果大於某個產品值,就按該尺寸繼續切割,直到無法使用.
該演算法簡單實用,但不一定就是最優解.
找零問題,為了給出數量最少的鈔票,演算法為:每次都選最大面額鈔票.比如132元商品,給了200元,找零總額68元,先給50剩18,再給10元剩8,再給5元剩3,最後給3元結束,總共找零6張鈔票,同時也是該問題的最優解.
貪心演算法是什麼?求教學,c語言
6樓:匿名使用者
貪心演算法的基本準則是求最佳的一個路線
每次選擇都挑選最佳的一個
7樓:旅初彤
裡面講得比較詳細
貪心演算法 動態規劃 它們有什麼區別?程式設計
8樓:冰雪殘冬
貪心演算法是種策略,思想。。。
它並沒有固定的模式
比如最簡單的揹包問題
用貪心的思想去做,就可能有很多種方法
價效比最高的、價值最高的、重量最輕的
而你沒辦法確保你所選擇的貪心策略對所有的情況都是絕對最優的動態規劃的思想是分治+解決沉餘
把一個複雜的問題分解成一塊一塊的小問題
每一個小問題中得到最優解
再從這些最優解中獲取更優的答案
典型的例子數塔問題
畫個圖就能看出來
9樓:匿名使用者
這個很簡單啦,貪心演算法是為了使得每一步都得到最好的,而最後的結果卻不一定是最好的。
但是動態規劃求出的肯定是最優解!!!!
貪心演算法的基本要素是什麼,並簡單解釋其含義
10樓:懶羊羊_灰太狼
您好,我看到您的問題很久沒有人來回答,但是問題過期無人回答會被扣分的並且你的懸賞分也會被沒收!所以我給你提幾條建議:
一,你可以選擇在正確的分類下去提問,這樣知道你問題答案的人才會多一些,回答的人也會多些。
二,您可以到與您問題相關專業**論壇裡去看看,那裡聚集了許多專業人才,一定可以為你解決問題的。
三,你可以向你的網上好友問友打聽,他們會更加真誠熱心為你尋找答案的,甚至可以到相關**直接搜尋.
四,網上很多專業論壇以及知識平臺,上面也有很多資料,我遇到專業性的問題總是上論壇求解決辦法的。
五,將你的問題問的細一些,清楚一些!讓人更加容易看懂明白是什麼意思!
謝謝採納我的建議! !
11樓:
貪心演算法的基本要素:貪心選擇性質和最優子結構性質
貪心演算法和動態規劃有什麼區別?
12樓:
雖然都用要用到前一步結果
但是處理方式很不同,貪心每一部都是做一個最佳選擇,產生一個最佳結果
而動態規劃是把每一步所有的選擇所產生的最優結果都算出來,最後得到綜合得到最優結果
求解一貪心演算法問題
様 先說說理論 簡單滴說 公升序!下面證明一下公升序排列好之後任意2個人交換都會使結果變大 數量不變,所以總和大平均值就大 設i 2 t1 ti 1 tj ti 1 tj 1 區別就是把ti換成tj 結果變大了 假設j i 1,對第k i 排序簡單吧 就不寫了 最快回答那個不懂別亂說,別誤人子弟。這...
貪心的感覺是什么,貪心的感覺是什麼
貪心的感覺是自掘墳墓 貪心不足,遲早要吃虧的 記得採納啊 什麼是貪心?貪心是人的本性。有貪心才會進步,但是貪心過重很可能會被別人利用。貪心是人人都有的,但是要把握乙個度,既有貪心而且又很冷靜的人才會成功,盲目的貪心不但得不到任何好處反而會被別人抓住而自陷其身。一種演算法,貪心演算法 又稱貪婪演算法 ...
乘法速演算法?兩位數乘法心算有什麼快又簡單的方法?
兩位數相乘,在十位數相同 個位數相加等於10的情況下,如62 68 4216 計算方法 6 6 1 42 前積 2 8 16 後積 兩位數乘法心算有什麼快又簡單的方法?用叉乘法。即為先心算出個位數字相乘結果,再十位相乘結果,再分別把個位和十位相乘,相加後,如大於一位則加在十位相乘結果上,如一位婁則為...