Python贪婪算法
生活随笔
收集整理的這篇文章主要介紹了
Python贪婪算法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
貪婪算法
- 每步均選擇局部的最優解,重復此過程,最終即得到全局的最優解
- 簡而言之就是每步都采用最優解
優點:
- 簡單易行
缺點:
- 并非在所有情況下都奏效
經典的問題:
貪婪算法下的近似算法解決集合覆蓋問題
states_needed = set(["mt", "wa", "or", "id", "nv", "ut", "ca", "az"])stations = {} stations["kone"] = set(["id", "nv", "ut"]) stations["ktwo"] = set(["wa", "id", "mt"]) stations["kthree"] = set(["or", "nv", "ca"]) stations["kfour"] = set(["nv", "ut"]) stations["kfive"] = set(["ca", "az"]) final_stations = set()while states_needed:best_station = Nonestates_covered = set()for station, states in stations.items():covered = states_needed & statesif len(covered) > len(states_covered):best_station = stationstates_covered = coveredstates_needed -= states_coveredfinal_stations.add(best_station)print(final_stations)轉載于:https://www.cnblogs.com/huang-yc/p/10322363.html
總結
以上是生活随笔為你收集整理的Python贪婪算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中坐标怎么表示_如何在Pyt
- 下一篇: python入门知识大全_python基