貪心演算法小結

2022-02-25 04:29:14 字數 628 閱讀 7640

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

更書面的說法:如果問題的乙個最優解中包含了子問題的最優解,則該問題具有最優子結構,具備這類結構的問題,可以用區域性最優解來推導全域性最優解,可以認為是一種剪枝法,是對「深度優先搜尋」的優化。

思想:貪心演算法的基本思路是從問題的某乙個初始解出發一步一步地進行,根據某個優化測度,每一步都要確保能獲得區域性最優解。每一步只考慮乙個資料,他的選取應該滿足區域性優化的條件。若下乙個資料和部分最優解連在一起不再是可行解時,就不把該資料新增到部分解中,直到把所有資料列舉完,或者不能再新增演算法停止。

過程:    

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

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

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

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

貪心演算法和dfs:貪心演算法主要是解決最優解,如最多最少等等,而dfs主要是求解所有解,包含求解所有解的個數。

無論是在競賽還是工作中還有乙個重要的技巧就是根據示例的輸入輸出來反推解題思路。

貪心演算法小結

貪心,即要最好的。通過找每一步的最優解來找整體的最優解。該演算法要求該題能分成幾步進行,且每一步可運用相同的方法並有最優解。能夠將乙個問題劃分成有限個子問題,通過尋找子問題的最優解來找全域性的最優解。特性 1。候選集合a 有乙個以最優方式來解決的問題,為了構造問題的解決方案,有乙個候選物件的集合,將...

貪心演算法小結

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

貪心演算法小結

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