- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的任务是创建节点图/ map 。
GRAPH = {}
""" ===================================================================
This function makes a network out of the two nodes
node1, node2 and puts them in a dictionary: graph
---------------------
node1 : Dictionary
key: node2 [neighbouring node]
value: 1
---------------------
node2 : Dictionary
key: node1 [neighbouring node]
value: 1
===================================================================== """
def make_link(graph, node1, node2):
if node1 not in graph:
graph[node1] = {}
(graph[node1])[node2] = 1
if node2 not in graph:
graph[node2] = {}
(graph[node2])[node1] = 1
return graph
flights = []
flights.append(("LAX","DFW"))
flights.append(("SAE","LAX"))
flights.append(("ORD","LAX"))
flights.append(("ORD","SAE"))
for (x,y) in flights:
make_link(GRAPH, x, y)
print GRAPH
输出:
codewingx@CodeLair:~/repo/python/Graphs$ python map.py
{'DFW': {'LAX': 1}, 'LAX': {'DFW': 1, 'ORD': 1, 'SAE': 1}, 'ORD': {'LAX': 1, 'SAE': 1}, 'SAE': {'ORD': 1, 'LAX': 1}}
我发现它是多余的,因为只有连接的节点的值为 1。
Q1。我不应该使用连接节点列表而不是内部字典吗?喜欢:
{'DFW': ['LAX'], 'LAX': ['DFW', 'ORD', 'SAE'], 'ORD':['LAX','SAE'],'SAE':['ORD','LAX']}
第二季度。我是否应该添加所有节点并在连接时将其值设置为 1,否则设置为 0?
最佳答案
Q1:不会。列表字典对于成员资格测试来说速度较慢。您可以通过使用 set 的字典来避免冗余的 1 值。 s。
但是,在处理图形时,我们经常需要与节点和边关联的额外信息(“标签”、“着色”)。例如。在您的示例中,您可以存储每个边的航类价格或持续时间 - 它自然会取代 1 秒。
(这对于有向图很有效,其中 LAX->SAE 和 SAE->LAX 价格是独立的。无向图实现起来比较棘手;一个巧妙的技巧是一个键为 2- 的字典元素 frozenset s;但复制数据可能是最简单的。)
问题2:没有理由,浪费(大多数图的边远少于n**2)并且在动态添加/删除节点时很难维护。您可以使用 collections.defaultdict(int)
在没有存储 1 的地方模拟 0(注意:访问时它会存储 0),但我建议只查看 graph[node1 中的 node2 ]
用于连接检查,留下 graph[node1][node2]
用于额外的边缘数据(如果有)。
关于python - [在Python中实现图表] : are lists of connected nodes preferable over dictionaries?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35251168/
使用 caret::train() 运行逻辑回归模型时出现问题。LR = caret::train(Satisfaction ~., data= log_train, method = "glm",
我正在尝试将nginx容器作为我所有网站和Web服务的主要入口点。我设法将portainer作为容器运行,并且可以从互联网上访问它。现在,我正在尝试访问由另一个Nginx容器托管的静态网站,但这样做失
我有一个在 Windows XP SP3 x86 上运行的 Visual Studio 2008 C# .NET 3.5 应用程序。在我的应用程序中,我有一个事件处理程序 OnSendTask 可以同
我在 Eclipse 中创建了作为独立程序执行的此类,它可以毫无问题地连接所有 http URL(例如:http://stackoverflow.com),但是当我尝试连接到 https(例如 htt
我在我的 nginx 错误日志中收到大量以下错误: connect() failed (111: Connection refused) while connecting to upstream 我的
我正在尝试将新的 log4j2 与 Socket Appender 一起使用,但我有点不走运。这是我的 XML 配置文件:
我目前正在尝试寻找 Android 应用程序后端的替代方案。目前,我使用 php servlet 来查询 Mysql 数据库。数据库(Mysql)托管在我大学的计算机上,因此我无法更改任何配置,因为我
类MapperExtension有一些方法,before_insert, before_update, ...都有一个参数connection. def before_insert(self, map
嗨,我正在尝试更改位于连接库 (v 5.5) 中的文档的文档所有者,我仍在等待 IBM 的回复,但对我来说可能需要太长时间,这就是我尝试的原因逆向工程。 我尝试使用标准编辑器 POST 请求将编辑器更
我在 nginx( http://52.xx.xx.xx/ )上访问我的 IP 时遇到 502 网关错误,日志只是这样说: 2015/09/18 13:03:37 [error] 32636#0: *
我要实现 Connected-Component Labeling但我不确定我应该以 4-connected 还是 8-connected 的方式来做。我已经阅读了大约 3 种 Material ,但
我在Resources ->JMS ->Connection Factories下有两个连接工厂。 1) 连接工厂 2)集成连接工厂 我想修改两个连接工厂下连接池的最大连接数。资源 ->JMS ->连
我在将 mongoengine 合并到我的 django 应用程序时遇到问题。以下是我收到的错误: Traceback (most recent call last): File "/home/d
上下文 我正在关注 tutorial on writing a TCP server last week in Real World Haskell .一切顺利,我的最终版本可以正常工作,并且能够在
我在访问我的域时遇到了这个问题:我看到了我的默认 http500 错误 django 模板正在显示。 我有 gunicorn 设置: command = '/usr/local/bin/gunicor
我更换了电脑,并重新安装了所有版本:tomcat 8 和 6、netbeans 8、jdk 1.7、hibernate 4.3.4,但是当我运行 Web 应用程序时,出现此错误。过去使用我的旧电脑时,
您好,我是这个项目的新手,我在 CentOS7 ec2 实例上托管它时遇到问题。当我访问我的域时出现此错误: 2017/02/17 05:53:35 [error] 27#27: *20 connec
在开始之前,我已经查看了所有我能找到的类似问题,但没有找到解决我的问题的方法。 我正在运行 2 个 docker 容器,1 个用于 nginx,1 个用于 nodejs api。我正在使用 nginx
使用 debian 包将 kaa -iot 平台配置为单节点时。我收到以下错误。 himanshu@himpc:~/kaa/deb$ sudo dpkg -i kaa-node-0.10.0.deb
我是我公司开发团队的成员,担任管理员角色。我可以通过 https://developer.apple.com/ 访问团队的成员(member)中心 但是,当我尝试在 https://itunescon
我是一名优秀的程序员,十分优秀!