五大常用演算法 貪心演算法

2021-08-25 13:58:07 字數 487 閱讀 1718

貪心演算法是指:在每一步求解的步驟中,它要求「貪婪」的選擇最佳操作,並希望通過一系列的最優選擇,能夠產生乙個問題的(全域性的)最優解。

貪心演算法每一步必須滿足一下條件:

1、可行的:即它必須滿足問題的約束。

2、區域性最優:他是當前步驟中所有可行選擇中最佳的區域性選擇。

3、不可取消:即選擇一旦做出,在演算法的後面步驟就不可改變了。

貪心演算法的定義:

貪心演算法是指在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,只做出在某種意義上的區域性最優解。貪心演算法不是對所有問題都能得到整體最優解,關鍵是貪心策略的選擇,選擇的貪心策略必須具備無後效性,即某個狀態以前的過程不會影響以後的狀態,只與當前狀態有關。

解題的一般步驟是:

1.建立數學模型來描述問題;

2.把求解的問題分成若干個子問題;

3.對每一子問題求解,得到子問題的區域性最優解;

4.把子問題的區域性最優解合成原來問題的乙個解。

五大常用演算法 貪心演算法

一 基本概念 所謂貪心演算法是指,在對問題求解時,總是做出在 當前看來是最好的選擇 也就是說,不從整體最優上加以考慮,他所做出的僅是在某種意義上的 區域性最優解 貪心演算法沒有固定的演算法框架,演算法設計的關鍵是貪心策略的選擇。必須注意的是,貪心演算法不是對所有問題都能得到整體最優解,選擇的貪心策略...

五大常用演算法 三 貪心演算法

貪心演算法是指在對問題求解時,總是做出在當前看來是最好的選擇。不從整體最優考慮,只做出在某種意義上的區域性最優選擇。貪心演算法不是對所有問題都能得到整體最優解,但對許多問題它能產生整體最優解。如單源最短路徑問題,最小生成樹問題等。在一些情況下,即使貪心演算法不能得到整體最優解,其最終結果卻是最優解的...

五大常用演算法之貪心演算法

五大常用演算法之貪心演算法 貪心演算法 貪婪演算法 指的是 在對問題求解過程中,總是做出在當前看來是最好的選擇。不從整體最優上加以考慮,所做出的是在某種意義上的區域性最優解。貪心演算法不是對所有問題都能得到整體最優解,關鍵是貪心策略的選擇,選擇的貪心策略必須具備無後效性,即某個狀態以前的過程不會影響...