cycle_basis#
- cycle_basis(G, root=None)[source]#
返回一个由图 G 的循环基组成的列表。
一个网络的循环基是一个最小集合的循环,使得网络中的任何循环都可以表示为基中循环的和。这里循环的和定义为边的“异或”。循环基在某些应用中非常有用,例如在使用基尔霍夫定律推导电路方程时。
- Parameters:
- GNetworkX 图
- root节点, 可选
指定基的起始节点。
- Returns:
- 一个循环列表的列表。每个循环列表是一个节点列表,这些节点在 G 中形成一个循环(回路)。
See also
Notes
这是从算法 CACM 491 [1] 改编而来的。
References
[1]Paton, K. 一种寻找图的基本循环集的算法。Comm. ACM 12, 9 (1969年9月), 514-518.
Examples
>>> G = nx.Graph() >>> nx.add_cycle(G, [0, 1, 2, 3]) >>> nx.add_cycle(G, [0, 3, 4, 5]) >>> nx.cycle_basis(G, 0) [[3, 4, 5, 0], [1, 2, 3, 0]]