擅长:python、mysql、java
<p>bellman\u ford\u的前身\u和\u距离算法似乎可以工作。如果距离<;=-100,那么球就停在前一个节点上,所以我复制了图,删除了相关的边,然后再次运行算法进行检查。你知道吗</p>
<pre><code>import networkx as nx
G = nx.DiGraph()
G.add_edge(1, 2, weight= -50)
G.add_edge(2, 3, weight= 40)
G.add_edge(3, 4, weight= -50)
G.add_edge(4, 5, weight= -90)
G.add_edge(1, 6, weight= -105)
G.add_edge(6, 7, weight= 110)
pred, dist = nx.bellman_ford_predecessor_and_distance(G, 1)
print(pred, dist)
F = G
for x, y in dist.items():
if y <= -100:
z = pred.get(x)[0]
F.remove_edge(z,x)
pred, dist = nx.bellman_ford_predecessor_and_distance(G, 1)
print(pred, dist)
</code></pre>