本文简要介绍
networkx.algorithms.components.articulation_points
的用法。用法:
articulation_points(G)
产生图形的关节点或切割顶点。
关节点或切割顶点是任何节点,其移除(连同其所有入射边)会增加图的连通分量的数量。没有关节点的无向连通图是双连通的。关节点属于图的多个双连通分量。
请注意,按照惯例,二元组被认为是双连接组件。
- G:NetworkX 图表
一个无向图。
- 节点
图中的一个关节点。
- NetworkXNotImplemented
如果输入图不是无向图。
参数:
生成(Yield):
抛出:
注意:
查找关节点和双连接组件的算法是使用非递归深度优先搜索 (DFS) 实现的,该算法跟踪后边在 DFS 树中达到的最高级别。当且仅当存在以
n
为根的子树使得在DFS中链接到n
的前驱的n
的任何后继没有后边时,节点n
是关节点树。通过跟踪 DFS 遍历的所有边,我们可以获得双连通分量,因为双分量的所有边将在关节点之间连续遍历。参考:
- 1
Hopcroft, J.; Tarjan, R. (1973). “Efficient algorithms for graph manipulation”. Communications of the ACM 16: 372-378. doi:10.1145/362248.362272
例子:
>>> G = nx.barbell_graph(4, 2) >>> print(nx.is_biconnected(G)) False >>> len(list(nx.articulation_points(G))) 4 >>> G.add_edge(2, 8) >>> print(nx.is_biconnected(G)) True >>> len(list(nx.articulation_points(G))) 0
相关用法
- Python NetworkX arbitrary_element用法及代码示例
- Python NetworkX argmap用法及代码示例
- Python NetworkX average_degree_connectivity用法及代码示例
- Python NetworkX all_simple_paths用法及代码示例
- Python NetworkX add_star用法及代码示例
- Python NetworkX add_path用法及代码示例
- Python NetworkX all_pairs_dijkstra_path用法及代码示例
- Python NetworkX average_clustering用法及代码示例
- Python NetworkX attr_matrix用法及代码示例
- Python NetworkX average_neighbor_degree用法及代码示例
- Python NetworkX all_pairs_shortest_path用法及代码示例
- Python NetworkX attribute_mixing_dict用法及代码示例
- Python NetworkX all_node_cuts用法及代码示例
- Python NetworkX attr_sparse_matrix用法及代码示例
- Python NetworkX asadpour_atsp用法及代码示例
- Python NetworkX all_shortest_paths用法及代码示例
- Python NetworkX all_simple_edge_paths用法及代码示例
- Python NetworkX adjacency_graph用法及代码示例
- Python NetworkX astar_path用法及代码示例
- Python NetworkX all_pairs_bellman_ford_path用法及代码示例
- Python NetworkX ancestors用法及代码示例
- Python NetworkX average_shortest_path_length用法及代码示例
- Python NetworkX all_topological_sorts用法及代码示例
- Python NetworkX attribute_mixing_matrix用法及代码示例
- Python NetworkX all_pairs_dijkstra用法及代码示例
注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.algorithms.components.articulation_points。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。