find_negative_cycle#
- find_negative_cycle(G, source, weight='weight')[源代码]#
返回总权重为负的循环(如果存在)。
Bellman-Ford用于寻找最短路径。如果存在负循环,则该算法停止。该算法从那里提取并返回找到的负循环。
循环由按循环顺序排列的节点列表组成。最后一个节点等于第一个节点,使其成为一个循环。您可以在原始图形中查找边权重。在多重图的情况下,相关边是2元组中节点之间的最小权边。
如果该图没有负循环,则会引发NetworkXError。
- 参数
- G网络X图表
- source: list of nodes
源节点列表。搜索从列表中的所有源节点开始。
- weight字符串或函数
如果这是一个字符串,则边权重将通过具有此关键字的边属性(即边连接的权重)进行访问
u
至v
将会是G.edges[u, v][weight]
)。如果不存在这样的边属性,则假定边的权重为1。如果这是一个函数,则边的权重是函数返回的值。函数必须只接受三个位置参数:边的两个端点和该边的边属性字典。函数必须返回一个数字。
- 返回
- cycle列表
按找到的周期顺序排列的节点列表。最后一个节点等于第一个节点,表示一个循环。
- 加薪
- NetworkXError
如果没有发现负周期。