貪心演算法,更確切的說是一種解決題目的思想,簡單來說是對於問題的特殊解,它可以通過某種特殊的規則,不斷地選取最優的策略。
比如說,最簡單的貪心問題:
使用最少的硬幣數量來解決付賬的問題(恰好完成數額, 不需要找零)
區間的排程問題(給你多個區間, 可能會有交叉現象, 你需要找所給你的實現當中找出不交叉的區間數量最大值)
頭排序,但是你發現不能找到最優的解。
尾排序,判斷先可以結束的是不是頭位置不與之前的區間尾部位置有交叉即可以
fence repair 最小生成樹,霍夫曼樹,
燈塔問題(乙個點管理乙個區間的問題)
先進行排序,然後直接進行區間貪心,
貪心演算法小結
貪心,即要最好的。通過找每一步的最優解來找整體的最優解。該演算法要求該題能分成幾步進行,且每一步可運用相同的方法並有最優解。能夠將乙個問題劃分成有限個子問題,通過尋找子問題的最優解來找全域性的最優解。特性 1。候選集合a 有乙個以最優方式來解決的問題,為了構造問題的解決方案,有乙個候選物件的集合,將...
貪心演算法小結
最優子結構 對比dfs,不是進行各種可選支路的試探,而是當下就可用某種策略確定選擇,無需考慮未來 未來情況的演變也影響不了當下的選擇 只要一直這麼選下去,就能得出最終的解,每一步都是當下 子問題 的最優解,那麼最終得出的結果就是問題的最優解,這叫做最優子結構。更書面的說法 如果問題的乙個最優解中包含...
貪心演算法小結
a題意 多個教室經過走廊搬桌子,不能共用已被占用的走廊 不相交可以同時搬運 每次需要十分鐘,問最少需要的時間。思路 每次搬運都會覆蓋一段走廊,會覆蓋這段的點,找出所有點中覆蓋次數最多的即是需要搬運的最大次數。b題意 o 1 思路 o 1 c題意 有n頭牛在一條線上,每頭牛都會嚎叫,為了讓所有牛都聽見...