Pythonで実装貪欲アルゴリズム

使用Pythonの貪欲アルゴリズムを達成するために
#の問題をカバーセット
#は、あなたが国家の作るために、ラジオ番組を行うと仮定50 州のリスナーが聞いています。これを行うには、放送局で放映されたかを決定する必要があります。各放送局で使用すると、ラジオ局に試してみましたので、わずかの放送では、そのためにお金を払う必要があるだろうブロードキャスト#1 の状態でカバーすることが含まれているリストを作成します= states_needed SET([ 「MT」、「WA」は、"又は" 、 "上記ID前記" "NV"、"UT"、"CA"、"AZ"])#2. 使用ハッシュテーブルは別のラジオ局リスト表す局= dictの()ステーション[ "コネ"を】 = SET([ "ID"、"NV"、"UT"])ステーション[ "ktwo"] = SET([ "WA"、"



"NV"、"CA"])ステーション[ "kfour"] = SET([ "NV"、"UT"])ステーション[ "kfive"] = SET([ "CA"、"AZ"])
#3。選択された放送局の最終セットを格納するために使用
= final_stationsを
設定()
#5 サイクル
一方がstates_needed:
すべての放送局を介して、最も選択覆われていない状態の放送局をカバーする、放送局はに格納されbest_station best_station = なしこのセットでカバーされていないすべての状態は、放送局のカバレッジが含まれstates_covered = SET()を駅のため、国の駅で。項目を():のカバー=がstates_neededアメリカ&IF でlen(のカバー)>LEN(states_covered):






best_station =駅
states_covered =カバー

states_needed - = states_covered
final_stations。
追加(best_station)

プリント(final_stations) 结果为{ 'ktwo'、 'kthree'、 'コネ'、 'kfive'}

おすすめ

転載: www.cnblogs.com/lty-fly/p/11713955.html