本文簡要介紹
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。