首页 > ACM > 关于Dijkstra算法

关于Dijkstra算法

其实Dijkstra算法只是基于以下显而易见的事实:

所有未知的路径都是由已知路径生成的,当然我们找到其中最小的那条(也许不止一条^^)。
如果所有边的权都是正的(这也是有负权Dijkstra失效的原因),那么显然,新生成的路径的权值都不会比原来的小。
那么显然所有生成的路径都不会小于原来最小的那几条,这些路径显然就是最短路^^。
显然的,我们不需要关注那些不会再生成新路径的点,接着我们把刚才找到的这个点也变成这种类型的(这个好办,把它能生成的直接路径都生成了),接着,情况又和刚才一致了^^

考虑初始情况,就是我们第一次出发的那个点,到达这个点的权值显然是0,接着从它出发生成它能直接产生的新路径(就是和它直接连着的点),然后again and again...

分类: ACM 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.