cycle_basis#

cycle_basis(G, root=None)[源代码]#

返回构成g循环基础的循环列表。

网络循环的基础是循环的最小集合,这样网络中的任何循环都可以作为基础中循环的总和写入。这里循环的总和被定义为边缘的“异或”。循环基是有用的,例如,当用基尔霍夫定律推导电路方程时。

参数
G网络X图表
root节点,可选

为Basis指定起始节点。

返回
周期列表的列表。每个周期列表都是一个节点列表
这在G中形成了一个循环(环)。

参见

simple_cycles

笔记

该算法改编自算法CACM 491 [1].

工具书类

1

帕顿,K。一种求图的基本循环集的算法。通信ACM 12,9(1969年9月),514-518。

实例

>>> G = nx.Graph()
>>> nx.add_cycle(G, [0, 1, 2, 3])
>>> nx.add_cycle(G, [0, 3, 4, 5])
>>> print(nx.cycle_basis(G, 0))
[[3, 4, 5, 0], [1, 2, 3, 0]]