is_eulerian#

is_eulerian(G)[source]#

当且仅当 G 是欧拉图时返回 True。

一个图是 欧拉图 当且仅当它有一个欧拉回路。一个 欧拉回路 是一个闭合路径,它恰好包含图中每条边一次。

具有孤立顶点(即度数为零的顶点)的图不被认为具有欧拉回路。因此,如果图不连通(或对于有向图不强连通),此函数返回 False。

Parameters:
GNetworkX 图

一个图,可以是有向的或无向的。

Examples

>>> nx.is_eulerian(nx.DiGraph({0: [3], 1: [2], 2: [3], 3: [0, 1]}))
True
>>> nx.is_eulerian(nx.complete_graph(5))
True
>>> nx.is_eulerian(nx.petersen_graph())
False

如果你希望允许具有孤立顶点的图具有欧拉回路,可以先移除这些顶点,然后调用 is_eulerian ,如下例所示。

>>> G = nx.Graph([(0, 1), (1, 2), (0, 2)])
>>> G.add_node(3)
>>> nx.is_eulerian(G)
False
>>> G.remove_nodes_from(list(nx.isolates(G)))
>>> nx.is_eulerian(G)
True