貪心演算法小結

2021-09-12 14:55:22 字數 341 閱讀 7144

貪心,即要最好的。通過找每一步的最優解來找整體的最優解。

該演算法要求該題能分成幾步進行,且每一步可運用相同的方法並有最優解。

能夠將乙個問題劃分成有限個子問題,通過尋找子問題的最優解來找全域性的最優解。

特性:1。候選集合a : 有乙個以最優方式來解決的問題,為了構造問題的解決方案,有乙個候選物件的集合,將問題可能解放入該集合中,問題最終解出於該集合。

2。解集合s:隨著貪心的進行,s不斷擴充套件,直到構成滿足問題的完整解。

3。解決函式:檢查解集合s是否構成問題的完整解。

4。選擇函式:指出哪個候選物件最有希望構成問題的解。

5。可行函式:檢查s中是否能放入候選物件。

貪心演算法小結

最優子結構 對比dfs,不是進行各種可選支路的試探,而是當下就可用某種策略確定選擇,無需考慮未來 未來情況的演變也影響不了當下的選擇 只要一直這麼選下去,就能得出最終的解,每一步都是當下 子問題 的最優解,那麼最終得出的結果就是問題的最優解,這叫做最優子結構。更書面的說法 如果問題的乙個最優解中包含...

貪心演算法小結

貪心演算法,更確切的說是一種解決題目的思想,簡單來說是對於問題的特殊解,它可以通過某種特殊的規則,不斷地選取最優的策略。比如說,最簡單的貪心問題 使用最少的硬幣數量來解決付賬的問題 恰好完成數額,不需要找零 區間的排程問題 給你多個區間,可能會有交叉現象,你需要找所給你的實現當中找出不交叉的區間數量...

貪心演算法小結

a題意 多個教室經過走廊搬桌子,不能共用已被占用的走廊 不相交可以同時搬運 每次需要十分鐘,問最少需要的時間。思路 每次搬運都會覆蓋一段走廊,會覆蓋這段的點,找出所有點中覆蓋次數最多的即是需要搬運的最大次數。b題意 o 1 思路 o 1 c題意 有n頭牛在一條線上,每頭牛都會嚎叫,為了讓所有牛都聽見...