zoukankan      html  css  js  c++  java
  • SPFA加上SLF时判负环的条件

    转自:http://www.cnblogs.com/jffifa/archive/2011/12/17/2291061.html

    研究发现,SPFA加上SLF(Small Label First)优化时,是不能用“某个点的入队列次数>点数”这一条件来判负环的。

    数据举例如下:

    (u, v, d)

    V=4, E=6

    0 1 0

    0 2 0

    0 3 0

    2 1 -1

    3 1 -2

    3 2 -2

    则按照SLF,1这个点将被入队5次,而图显然不存在负环(根本不存在环)。

    究其原因在于SLF不保证被松弛点在被另外一个点松弛时还在队列中。

    那么必须换一种方法判负环。wikipedia提供了一种不错的选择:

    易知,无论在什么样的情形下,最短路径本身都不可以包含环。因此,最短路径上的节点个数永远不会超过图中节点的总数。因此,在求解的同时我们可以维护到达某一个节点的当前最短路径所需要经过的节点数,一旦发现到达某一个节点所需要的当前最短路径上的节点总数超过了图中节点的总数,就可以立即判定原图中存在负权回路,因而最短路径不存在。

  • 相关阅读:
    linux开启oracle服务
    一个tomcat多域名绑定多项目
    linux安装jdk1.7.0
    windows 查看端口进程和杀死进程
    windows2008 扩大远程连接数
    windows下用bak文件备份数据库
    linux常用命令
    mysql 开启远程连接访问
    windows 下tomcat安装
    IBM公司面试题
  • 原文地址:https://www.cnblogs.com/pony1993/p/2709216.html
Copyright © 2011-2022 走看看