eulerian_circuit#
- eulerian_circuit(G, source=None, keys=False)[源代码]#
返回对中欧拉电路边缘的迭代器
G
.安 欧拉电路 是一个封闭的漫游,它只包含一个图形的每一个边。
- 参数
- G网络X图表
有向图或无向图。
- source节点,可选
回路的起始节点。
- keys布尔尔
如果为False,则此函数生成的边的形式为
(u, v)
。否则,边的形式为(u, v, k)
。此选项将被忽略,除非G
是一个多重图。
- 返回
- edges迭代器
欧拉回路中边上的迭代器。
- 加薪
- NetworkXError
如果图形不是欧拉的。
参见
笔记
这是一个算法的线性时间实现,改编自 [1].
有关欧拉之旅的一般信息,请参见 [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]