本文簡要介紹
networkx.algorithms.euler.eulerian_circuit
的用法。用法:
eulerian_circuit(G, source=None, keys=False)
返回
G
中歐拉回路邊的迭代器。Eulerian circuit
是一個封閉的遊走,包含圖的每條邊恰好一次。- G:NetworkX 圖
有向圖或無向圖。
- source:節點,可選
電路的起始節點。
- keys:bool
如果為 False,則此函數生成的邊將采用
(u, v)
的形式。否則,邊將采用(u, v, k)
的形式。除非G
是多重圖,否則此選項將被忽略。
- edges:迭代器
歐拉回路中邊的迭代器。
- NetworkXError
如果圖不是歐拉圖。
參數:
返回:
拋出:
注意:
這是改編自[1]的算法的線性時間實現。
有關 Euler 遊覽的一般信息,請參閱 [2]。
參考:
- 1
J. Edmonds, E. L. Johnson. Matching, Euler tours and the Chinese postman. Mathematical programming, Volume 5, Issue 1 (1973), 111-114.
- 2
例子:
要在無向圖中獲得歐拉回路:
>>> G = nx.complete_graph(3) >>> list(nx.eulerian_circuit(G)) [(0, 2), (2, 1), (1, 0)] >>> list(nx.eulerian_circuit(G, source=1)) [(1, 2), (2, 0), (0, 1)]
要獲得歐拉回路中的頂點序列:
>>> [u for u, v in nx.eulerian_circuit(G)] [0, 2, 1]
相關用法
- Python NetworkX eulerize用法及代碼示例
- Python NetworkX equitable_color用法及代碼示例
- Python NetworkX expected_degree_graph用法及代碼示例
- Python NetworkX effective_size用法及代碼示例
- Python NetworkX edge_subgraph用法及代碼示例
- Python NetworkX eigenvector_centrality_numpy用法及代碼示例
- Python NetworkX eigenvector_centrality用法及代碼示例
- Python NetworkX erdos_renyi_graph用法及代碼示例
- Python NetworkX edge_connectivity用法及代碼示例
- Python NetworkX empty_graph用法及代碼示例
- Python NetworkX edge_bfs用法及代碼示例
- Python NetworkX edmonds_karp用法及代碼示例
- Python NetworkX edge_dfs用法及代碼示例
- Python NetworkX edge_disjoint_paths用法及代碼示例
- Python NetworkX equivalence_classes用法及代碼示例
- Python NetworkX estrada_index用法及代碼示例
- 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 single_source_dijkstra_path_length用法及代碼示例
注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.algorithms.euler.eulerian_circuit。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。