當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python NetworkX dfs_edges用法及代碼示例


本文簡要介紹 networkx.algorithms.traversal.depth_first_search.dfs_edges 的用法。

用法:

dfs_edges(G, source=None, depth_limit=None)

在深度優先搜索 (DFS) 中迭代邊。

G 的節點執行深度優先搜索並按順序生成邊。這可能不會在 G 中生成所有邊(參見 edge_dfs )。

參數

GNetworkX 圖
source節點,可選

指定深度優先搜索的起始節點並在從源可到達的組件中產生邊。

depth_limitint,可選(默認=len(G))

指定最大搜索深度。

生成(Yield)

邊:節點的 2 元組

產生由深度優先搜索產生的邊。

注意

如果未指定源,則任意重複選擇源,直到搜索到圖中的所有組件。

該函數的實現改編自 David Eppstein 在 PADS 中的深度優先搜索函數 [1],並根據維基百科文章“Depth-limited search”[2] 進行修改以允許深度限製。

參考

1

http://www.ics.uci.edu/~eppstein/PADS

2

https://en.wikipedia.org/wiki/Depth-limited_search

例子

>>> G = nx.path_graph(5)
>>> list(nx.dfs_edges(G, source=0))
[(0, 1), (1, 2), (2, 3), (3, 4)]
>>> list(nx.dfs_edges(G, source=0, depth_limit=2))
[(0, 1), (1, 2)]

相關用法


注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.algorithms.traversal.depth_first_search.dfs_edges。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。