is_eulerian#

is_eulerian(G)[source]#

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

如果一个图包含欧拉回路,则该图是欧拉图欧拉回路是一条封闭的漫步,恰好包含图中的每条边一次。

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

参数:
GNetworkX 图

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

示例

>>> 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