Return the edges of an Eulerian circuit in G.
An Eulerian circuit is a path that crosses every edge in G exactly once and finishes at the starting node.
Parameters : | G : graph
source : node, optional
|
---|---|
Returns : | edges : generator
|
Raises : | NetworkXError :
|
See also
Notes
Uses Fleury’s algorithm [R80],[R81]_
References
[R80] | (1, 2) Fleury, “Deux problemes de geometrie de situation”, Journal de mathematiques elementaires (1883), 257-261. |
[R81] | http://en.wikipedia.org/wiki/Eulerian_path |
Examples
>>> G=nx.complete_graph(3)
>>> list(nx.eulerian_circuit(G))
[(0, 1), (1, 2), (2, 0)]
>>> list(nx.eulerian_circuit(G,source=1))
[(1, 0), (0, 2), (2, 1)]
>>> [u for u,v in nx.eulerian_circuit(G)] # nodes in circuit
[0, 1, 2]