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