網絡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