is_simple_path#

is_simple_path(G, nodes)[源代码]#

如果且仅当 nodesG .

A 简单路径 图中是一个非空节点序列,其中没有节点在序列中出现一次以上,并且序列中的每对相邻节点在图中相邻。

参数
G图表

网络X图。

nodes列表

图中一个或多个节点的列表 G

返回
布尔尔

给定的节点列表是否表示 G .

笔记

空的节点列表不是路径,但一个节点的列表是路径。这里有一个解释。

此功能在 节点路径 . 我们也可以考虑 边缘路径 . 节点路径和边缘路径之间存在双射。

这个 路径长度 是路径中的边数,因此是长度节点列表 n 对应于长度路径 n - 1。因此,最小的边路径是零边列表,即空路径。这对应于一个节点的列表。

要在节点路径和边缘路径之间转换,可以使用如下代码:

>>> from networkx.utils import pairwise
>>> nodes = [0, 1, 2, 3]
>>> edges = list(pairwise(nodes))
>>> edges
[(0, 1), (1, 2), (2, 3)]
>>> nodes = [edges[0][0]] + [v for u, v in edges]
>>> nodes
[0, 1, 2, 3]

实例

>>> G = nx.cycle_graph(4)
>>> nx.is_simple_path(G, [2, 3, 0])
True
>>> nx.is_simple_path(G, [0, 2])
False