演算法導論 貪心演算法 活動選擇問題

2021-10-23 21:03:05 字數 527 閱讀 8143

先給出乙個我寫的動態規劃方法的解法,求出最大活動集合中活動的個數。

public class activitychoice ;

public static int f=;

public static int mmax = 0;

public static int activity(int i,int j)

arraylista = new arraylist();

for(int n = i+1;n=f[i]&&f[n]<=s[j])

}if(a.isempty())

for(int k:a)

}return mmax;

}

這個方法可以求出最大相容活動集合中活動的個數,如果想求出具體包含什麼活動,可以遞迴地對最後的k,但是只能求出乙個集合...如果想求出所有最大相容活動集合可以思考思考  ^_^..

演算法導論 16 1 活動選擇(貪心演算法)

最優化問題的演算法往往都包含一系列的步驟,每個步驟都要做出最優化的選擇 相對全域性來說也是最優的 貪心演算法所做的選擇看起來是當前最佳的,相對於區域性來講是最佳的,相對於全域性來講並不是最佳的 貪心演算法希望通過區域性的最優解得到乙個全域性最優解 注意 貪心演算法有時候你能夠產生全域性最優解,有時候...

貪心演算法 活動選擇問題

活動選擇問題 就是給定一組活動的開始時間和結束時間,然後他們都需要使用到乙個資源,這個資源每次只有乙個活動可以用,要求求出乙個最大的相互相容的活動子集。首先定義了乙個集合sij 其中s就是所有活動的集合,fi是活動ai的完成時間si是活動ai的開始時間。這道題如果是用dp來解的話,就需要找到最優解的...

貪心演算法 活動選擇問題

前言 貪心演算法也是用來解決最優化問題,將乙個問題分成子問題,在現在子問題最優解的時,選擇當前看起來是最優的解,期望通過所做的區域性最優選擇來產生乙個全域性最優解。書中先從活動選擇問題來引入貪心演算法,分別採用動態規劃方法和貪心演算法進行分析。本篇筆記給出活動選擇問題的詳細分析過程,並給出詳細的實現...