本文簡要介紹
networkx.algorithms.cycles.recursive_simple_cycles
的用法。用法:
recursive_simple_cycles(G)
找到有向圖的簡單循環(基本電路)。
simple cycle
或elementary circuit
是沒有節點出現兩次的封閉路徑。如果兩個基本電路不是彼此的循環排列,則它們是不同的。此版本使用遞歸算法來構建循環列表。您可能應該使用名為simple_cycles() 的迭代器版本。警告:此遞歸版本使用大量 RAM!它出現在NetworkX 中以獲得教學值。
- G:NetworkX 有向圖
有向圖
- 循環列表,其中每個循環由節點列表表示
- 沿著循環。
- 例子:
>>> edges = [(0, 0), (0, 1), (0, 2), (1, 2), (2, 0), (2, 1), (2, 2)] ..
>>> G = nx.DiGraph(edges) ..
>>> nx.recursive_simple_cycles(G) ..
- [[0], [2], [0, 1, 2], [0, 2], [1, 2]]
參數:
返回:
注意:
實現遵循[1]中的第79-80頁。
節點、 邊和 基本電路的時間複雜度為 。
參考:
- 1
Finding all the elementary circuits of a directed graph. D. B. Johnson, SIAM Journal on Computing 4, no. 1, 77-84, 1975. https://doi.org/10.1137/0204007
相關用法
- Python NetworkX read_multiline_adjlist用法及代碼示例
- Python NetworkX read_weighted_edgelist用法及代碼示例
- Python NetworkX relaxed_caveman_graph用法及代碼示例
- Python NetworkX read_pajek用法及代碼示例
- Python NetworkX resource_allocation_index用法及代碼示例
- Python NetworkX read_graph6用法及代碼示例
- Python NetworkX read_graphml用法及代碼示例
- Python NetworkX reverse_view用法及代碼示例
- Python NetworkX read_sparse6用法及代碼示例
- Python NetworkX read_adjlist用法及代碼示例
- Python NetworkX read_gpickle用法及代碼示例
- Python NetworkX restricted_view用法及代碼示例
- Python NetworkX read_gml用法及代碼示例
- Python NetworkX rescale_layout_dict用法及代碼示例
- Python NetworkX read_shp用法及代碼示例
- Python NetworkX reverse_cuthill_mckee_ordering用法及代碼示例
- Python NetworkX relabel_nodes用法及代碼示例
- Python NetworkX read_edgelist用法及代碼示例
- Python NetworkX random_partition_graph用法及代碼示例
- Python NetworkX random_shell_graph用法及代碼示例
- Python NetworkX random_degree_sequence_graph用法及代碼示例
- Python NetworkX random_geometric_graph用法及代碼示例
- Python NetworkX random_layout用法及代碼示例
- Python NetworkX ra_index_soundarajan_hopcroft用法及代碼示例
- Python NetworkX random_clustered_graph用法及代碼示例
注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.algorithms.cycles.recursive_simple_cycles。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。