本文簡要介紹
networkx.algorithms.traversal.breadth_first_search.bfs_predecessors
的用法。用法:
bfs_predecessors(G, source, depth_limit=None, sort_neighbors=None)
返回源中廣度優先搜索中前驅的迭代器。
- G:NetworkX 圖
- source:節點
指定廣度優先搜索的起始節點
- depth_limit:整數,可選(默認=len(G))
指定最大搜索深度
- sort_neighbors:函數
將給定節點的鄰居列表作為輸入的函數,並在這些鄰居上返回
iterator
,但具有自定義排序。
- pred:迭代器
(節點,前任)迭代器,其中
predecessor
是從source
開始的廣度優先搜索中node
的前任。
參數:
返回:
注意:
基於 D. Eppstein 的 http://www.ics.uci.edu/~eppstein/PADS/BFS.py,2004 年 7 月。根據維基百科文章“Depth-limited-search”進行的允許深度限製的修改。
例子:
>>> G = nx.path_graph(3) >>> print(dict(nx.bfs_predecessors(G, 0))) {1: 0, 2: 1} >>> H = nx.Graph() >>> H.add_edges_from([(0, 1), (0, 2), (1, 3), (1, 4), (2, 5), (2, 6)]) >>> print(dict(nx.bfs_predecessors(H, 0))) {1: 0, 2: 0, 3: 1, 4: 1, 5: 2, 6: 2} >>> M = nx.Graph() >>> nx.add_path(M, [0, 1, 2, 3, 4, 5, 6]) >>> nx.add_path(M, [2, 7, 8, 9, 10]) >>> print(sorted(nx.bfs_predecessors(M, source=1, depth_limit=3))) [(0, 1), (2, 1), (3, 2), (4, 3), (7, 2), (8, 7)] >>> N = nx.DiGraph() >>> nx.add_path(N, [0, 1, 2, 3, 4, 7]) >>> nx.add_path(N, [3, 5, 6, 7]) >>> print(sorted(nx.bfs_predecessors(N, source=2))) [(3, 2), (4, 3), (5, 3), (6, 5), (7, 4)]
相關用法
- Python NetworkX bfs_edges用法及代碼示例
- Python NetworkX bfs_beam_edges用法及代碼示例
- 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_predecessors。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。