博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
greedy算法(python版)
阅读量:4921 次
发布时间:2019-06-11

本文共 808 字,大约阅读时间需要 2 分钟。

greedy算法的核心思想是首先计算覆盖面大的部分,然后依次寻找其他覆盖面最大的部分。该算法的使用场景就像他的名字一样,当符合贪婪属性的时候就可以考虑。

states_needed = set(['北京', '上海', '广州', '深圳', '杭州', '南京', '石家庄', '银川'])stations = {}stations['kone'] = set(['北京', '上海', '广州'])stations['ktwo'] = set(['北京''杭州', '南京'])stations['kthree'] = set(['广州', '深圳', '杭州'])stations['kfour'] = set(['北京', '银川'])stations['kfive'] = set(['石家庄', '银川'])final_stations = set()while states_needed:    best_station = None    states_covered = set()    for station, states in stations.items():        covered = states_needed & states        if len(covered) > len(states_covered):                      best_station = station                states_covered = covered    states_needed -= states_covered    final_stations.add(best_station)print(final_stations)

转载于:https://www.cnblogs.com/machao/p/7874420.html

你可能感兴趣的文章
Common Bugs in C Programming
查看>>
【java面试题】: String类、StringBuffer类、 StringBuilder类的区别
查看>>
各种数据库查询表及表信息的SQL
查看>>
IOS之网络数据下载和JSON解析
查看>>
:Spring-06 -AOP [面向切面编程] -配置异常通知的两种方式--AspectJ 方式 -Schema-based 方式...
查看>>
《网络是怎样连接的》第一章
查看>>
如何配置数据库ODBC数据源
查看>>
兼容性测试中如何切换和管理多个JDK版本
查看>>
vim自定义配置之nerdTree
查看>>
Power of Two & Power of Three & Power of Four
查看>>
21. Merge Two Sorted Lists
查看>>
随笔小记
查看>>
白盒测试的学习之路----(三)优化代码
查看>>
矩阵的旋转(90度)输出:
查看>>
纯虚函数(pure virtual function )和抽象类(abstract base class)
查看>>
《程序员修炼之道--从小工到专家》阅读笔记01
查看>>
【转】中国人唯一不认可的成功——就是家庭的和睦,人生的平淡
查看>>
[物理学与PDEs]第2章第5节 一维流体力学方程组的 Lagrange 形式 5.4 一维粘性热传导流体力学方程组的 Lagrange 形式...
查看>>
[再寄小读者之数学篇](2014-06-20 Beta 函数)
查看>>
asp.net内置对象Server
查看>>