最短路径:确定导致负循环的边

| 我有一个负边缘权重的有向图。该图由程序修改,有时会形成负循环。当发生这种情况时,最短路径算法(Bellman-ford / Johnson / Floyd-Warshall)将检测到这种负周期的存在并失败,但是不会产生其他有用的信息。 我想确定导致负周期的边沿,并禁止在图形中进行此类修改。有人可以帮我指点一下吗? 谢谢, 保罗     
已邀请:
保罗,如果您要添加一条边线(源,目标,权重),并且知道从目标到源的距离,那么当且仅当新权重+旧距离为负时,您才创建一个负周期。 另一方面,如果您只有一个图形,则Bellman-ford算法会检测到负周期,并在找到一个时显示一个。您只需要找到一个实现该目标的实现(而不只是失败),或者自己编写一个。这不是一个困难的算法,网络上有很多伪代码。 (如果您想为自己编写一份定制的文章,可能需要几天的咨询工作。我做这种事情是为了谋生,并且会很高兴。) 我不确定您到底需要什么。我不知道,但是我想像有一种Bellman-Ford的在线版本,随着新边缘的出现,它的价格保持最新,并且如果您添加一个不好的版本会尖叫。     

要回复问题请先登录注册