活動安排問題 貪心演算法

2021-08-10 06:32:19 字數 853 閱讀 2581

貪心演算法:貪心演算法總是做出在當前看來最好的選擇,也就是貪心演算法不從整體最優化的角度考慮。它所做出的選擇只是在某種意義上的區域性最優選擇

性質:最優子結構性質

當乙個問題的最優解包含其子問題的最優解時,稱此問題具有最優子結構性質

與動態規劃的差異:

貪心演算法從區域性出發,每一次得到的最優解,在考慮求解最優解的時候沿用上一次的最優解,之前的最優解不做保留。

動態規劃從全域性出發,全域性最優解中一定包含某個區域性最優解,但不一定包含前乙個區域性最優解,因此需要記錄之前的所有最優解。

經典貪心演算法,例如: 圖的單源最短路徑問題,最小生成樹問題

活動安排問題

例:設待安排的11個活動的開始時間和結束時間按結束時間的非減序排列如下:

* 設有n個活動的集合e=,其中每個活動都要求使用同一資源,

* 如演講會場等,而在同一時間內只有乙個活動能使用這一資源。

* 每個活動i都有乙個要求使用該資源的起始時間si和乙個結束時間fi,且si f[activityindex])

}return activitycount;

}public static void main(string args)}}

}

活動安排問題 貪心演算法

問題表述 設有n個活動的集合 e 其中每個活動都要求使用同一資源,如演講會場等,而在同一時間內只有乙個活動能使用這一資源。每個活 i都有乙個要求使用該資源的起始時間 si和乙個結束時間 fi,且 si 如果選擇了活動 i,則它在半開時間區間 si,fi 內占用資源。若區間 si,fi 與區間 sj,...

活動安排問題(貪心演算法)

類似的問題是 選點問題和區間覆蓋問題。活動安排問題就是要在所給的活動集合中選出最大的相容活動子集合,是可以用貪心演算法有效求解的很好例子。該問題要求高效地安排一系列爭用某一公共資源的活動。貪心演算法提供了乙個簡單 漂亮的方法使得盡可能多的活動能相容地使用公共資源。設有n個活動的集合e 其中每個活動都...

活動安排問題 貪心演算法

活動安排問題就是要在所給的活動集合中選出最大的相容活動子集合,是可以用貪心演算法有效求解的很好例子。該問題要求高效地安排一系列爭用某一公共資源的活動。貪心演算法提供了乙個簡單 漂亮的方法使得盡可能多的活動能相容地使用公共資源。設有n個活動的集合e 其中每個活動都要求使用同一資源,如演講會場等,而在同...