本文簡要介紹
networkx.algorithms.traversal.breadth_first_search.bfs_edges
的用法。用法:
bfs_edges(G, source, reverse=False, depth_limit=None, sort_neighbors=None)
從源頭開始,在廣度優先搜索中迭代邊。
- G:NetworkX 圖
- source:節點
指定廣度優先搜索的起始節點;該函數僅迭代可從此節點到達的組件中的那些邊。
- reverse:布爾型,可選
If True 反向遍曆有向圖
- depth_limit:整數,可選(默認=len(G))
指定最大搜索深度
- sort_neighbors:函數
將給定節點的鄰居列表作為輸入的函數,並在這些鄰居上返回
iterator
,但具有自定義排序。
- 邊:節點的 2 元組
產生廣度優先搜索產生的邊。
參數:
生成(Yield):
注意:
該函數的命名與
edge_bfs()
非常相似。不同之處在於,edge_bfs
會生成邊,即使它們延伸回已探索的節點,而此生成器會生成由廣度優先搜索 (BFS) 產生的樹的邊,因此如果它們延伸到已探索的節點,則不會報告邊探索過的節點。這意味著edge_bfs
報告所有邊,而bfs_edges
僅報告基於節點的 BFS 遍曆的邊。另一種說明是bfs_edges
報告 BFS 期間遍曆的邊,而edge_bfs
則按照探索的順序報告所有邊。基於 D. Eppstein 於 2004 年 7 月在 PADS [1] 中實現的廣度優先搜索;進行修改以允許深度限製,如 [2] 中所述。
參考:
例子:
要獲取廣度優先搜索中的邊:
>>> G = nx.path_graph(3) >>> list(nx.bfs_edges(G, 0)) [(0, 1), (1, 2)] >>> list(nx.bfs_edges(G, source=0, depth_limit=1)) [(0, 1)]
要以廣度優先搜索順序獲取節點:
>>> G = nx.path_graph(3) >>> root = 2 >>> edges = nx.bfs_edges(G, root) >>> nodes = [root] + [v for u, v in edges] >>> nodes [2, 1, 0]
相關用法
- Python NetworkX bfs_beam_edges用法及代碼示例
- Python NetworkX bfs_predecessors用法及代碼示例
- Python NetworkX bfs_successors用法及代碼示例
- Python NetworkX bfs_tree用法及代碼示例
- Python NetworkX binomial_graph用法及代碼示例
- Python NetworkX boykov_kolmogorov用法及代碼示例
- Python NetworkX bellman_ford_path用法及代碼示例
- Python NetworkX biconnected_component_edges用法及代碼示例
- Python NetworkX biconnected_components用法及代碼示例
- Python NetworkX bridges用法及代碼示例
- Python NetworkX bridge_components用法及代碼示例
- Python NetworkX bethe_hessian_matrix用法及代碼示例
- Python NetworkX bellman_ford_predecessor_and_distance用法及代碼示例
- Python NetworkX bipartite_layout用法及代碼示例
- Python NetworkX bidirectional_dijkstra用法及代碼示例
- Python NetworkX bellman_ford_path_length用法及代碼示例
- Python NetworkX negative_edge_cycle用法及代碼示例
- Python NetworkX voronoi_cells用法及代碼示例
- Python NetworkX numerical_edge_match用法及代碼示例
- Python NetworkX inverse_line_graph用法及代碼示例
- Python NetworkX LFR_benchmark_graph用法及代碼示例
- Python NetworkX write_graph6用法及代碼示例
- Python NetworkX DiGraph.__contains__用法及代碼示例
- Python NetworkX average_degree_connectivity用法及代碼示例
- Python NetworkX eulerian_circuit用法及代碼示例
注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.algorithms.traversal.breadth_first_search.bfs_edges。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。