本文简要介绍
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。