网络x中是否存在有效的函数/方法(因为图形很大),以便从源节点中识别出所有2的节点。非常感谢!如何使用networkx从源节点中找到距离为2的节点?
2
A
回答
1
假设你的图是G
和源节点为source
,那么你可以使用single_source_dijkstra_path_length获得路径长度如下:
>>> source_path_lengths = networkx.single_source_dijkstra_path_length(G, source)
>>> for (v, l) in source_path_lengths.iteritems():
if l == 2:
print v
1
好了,你可以指定“截止”参数设置为“2”从Single Source Shortest Path - Networkx的文档可以看出。所以基本上算法找到路径,直到路径长度为< =截止。
import networkx as nx
G = nx.path_graph(5)
path = nx.single_source_shortest_path_length(G ,source=src_vertex,cutoff=2)
然后,您可以使用以下方法来顶点列表在< = 2的距离源
print path.keys()
#output : [0, 1, 2, 3, 4]
或者你可以打印字典本身得到完全的源之间的距离,高达长度< =截止
print vertex_list
#Output : {0: 0, 1: 1, 2: 2}
顶点可以相应地改变的“临界”值根据自己的需要。
+0
非常感谢你! – SunWJ
相关问题
- 1. 使用MapReduce在图中找到距离为2的节点对
- 2. 在加权图中找到从节点到所有其他节点的距离
- 3. 如何使用BFS找到两个节点之间的距离?
- 4. 使用DFS计算距离源节点的距离
- 5. 找到2个节点之间的最小距离
- 6. C++试图找到2个节点之间的距离
- 7. 使用gremlin找到距离开始节点给定距离内的所有节点
- 8. 节点频率使用networkx
- 9. Java二叉树:找到达到两个节点的距离最短的节点
- 10. 如何在二叉树中找到与给定节点距离为k的节点
- 11. Networkx节点遍历
- 12. Networkx节点大小
- 13. 使用NetworkX计算2个节点之间的点击时间
- 14. 如何在networkx中找到没有外出边缘的节点?
- 15. 如何删除networkx中的节点?
- 16. networkx边缘到节点节点到边缘的表示
- 17. 查找没有edge-networkx的节点python
- 18. 如何从给定的一组节点等距离地查找图中的所有节点?
- 19. 如何找到两个分离最广的节点之间的距离
- 20. 计算图中每个节点的距离为n的未访问节点
- 21. NetworkX - 如何更改节点的形状?
- 22. 找到一个节点和树的根之间的距离
- 23. 查询查找距离特定节点两步的所有节点
- 24. 根据节点对距离在图表上绘制节点
- 25. 如何找到通过至少一个强制节点的两个节点之间的最短距离?
- 26. 如何在二叉树中找到节点的父节点?
- 27. 在图中,如何找到一组节点的最近节点?
- 28. 在Graph中找到一个节点,使其他两个节点之间的距离最小化
- 29. jqGrid TreeGrid找到节点的父节点
- 30. EXTJS找到节点的父节点
谢谢您的回复。这种方法很好,但不适合计算整个图的节点。这种方法需要计算其他距离,如3和4,这是不使用和浪费时间。有没有浪费这些时间的有效方法。提前致谢。 – SunWJ
@SunWJ您总是可以使用关键字参数'cutoff'将搜索降低到小于或等于2的路径。此外,根据您的图形是否加权,您可以使用'single_source_shortest_path_length'(非加权)。 – rodgdor
非常感谢你 – SunWJ