貪心演算法是什麼,貪心演算法,這個貪心到底是什麼意思

2022-12-12 23:35:16 字數 2339 閱讀 1215

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樓:

雖然都用要用到前一步結果

但是處理方式很不同,貪心每一部都是做一個最佳選擇,產生一個最佳結果

而動態規劃是把每一步所有的選擇所產生的最優結果都算出來,最後得到綜合得到最優結果

演算法的特性是什麼,演算法的四個特性是什麼?

演算法是指解題方 而完整的描述,是一系列解決問題的清晰指令,演算法代版表著用系權統的方法描述解決問題的策略機制。也就是說,能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間 空間或效率來完成同樣...

順序表逆置的演算法思想和演算法實現是什麼

試寫一演算法,實現順序表的就地逆置。即利用原表的儲存空間將線性表 a1,a2,an 逆置為 an,an 1,a1 實現專下列屬函式 void inverse sqlist l 順序表型別定義如下 typedef struct sqlist void inverse sqlist l typedef ...

計算機演算法是什麼

計算機演算法是以一步接一步的方式來詳細描述計算機如何將輸入轉化為所要求的輸出的過程,或者說,演算法是對計算機上執行的計算過程的具體描述。演算法性質 一個演算法必須具備以下性質 演算法首先必須是正確的,即對於任意的一組輸入,包括合理的輸入與不合理的輸入,總能得到預期的輸出。如果一個演算法只是對合理的輸...