python - 如何在networkx中选择计算平均路径长度为1或2的路径?
问题描述
如何计算networkx中平均路径长度为1或2的路径?例如,在下图中,平均路径长度等于 1 为 6,2 为 2。
import networkx as nx
import matplotlib.pyplot as plt
G=nx.DiGraph()
G.add_edges_from([(1, 2), (1, 5), (1, 6), (1, 9), (2, 3), (2, 4), (6, 7)])
pos=nx.spring_layout(G, iterations=5000)
plt.figure()
nx.draw(G, pos)
解决方案
如果我正确理解您的问题,您的意思不是平均路径长度,而是一般的简单路径长度。您的问题旨在找到具有给定长度的路径。
鉴于您的图似乎是一棵树,我们可以将树的根命名为“A”,然后运行以下代码以生成所需的结果:
path=nx.single_source_shortest_path(G,'A',cutoff=2)
for i in path:
print(str(i)+" has path length "+ str(len(path[i]-1))))
推荐阅读
- quickbooks - Quickbooks 与我期望的 qbXML 版本不兼容
- .net - 使用 StreamReader (vb.net) 从文件中读取内容
- json - 使用杰克逊解析器解析 Json 字符串
- kubernetes - 在 kubernetes 上运行 flink 作业
- java - 在 Android WebView 中打开 PDF
- javascript - 当方法可能异步获取数据时使用哪种 RxJS 类型?
- objective-c - 将视图连接到 IBOutlet 后,UIView 的手势识别器不再工作
- vba - 按向右或向左箭头时突出显示当前单词
- jquery - 点击时关闭sidenav
- node.js - 检查 serverless.yml 文件中的环境变量(无服务器框架)