arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1405.7619cs.DSmath.PR
收藏

一种前向-后向单源最短路径算法

A forward-backward single-source shortest paths algorithm

David B. Wilson, Uri Zwick

摘要:

我们描述了一个新的向前向后变形Dijkstra的和Spira的单源最短路径(SSSP)算法。基本上所有的SSSP算法只向前扫描边缘,新算法向后扫描一些边缘。新算法假设顶点的传出和传入邻接列表中的边以非递减的权重顺序出现。(Spira的算法对传出邻接列表做了同样的假设,但不使用传入邻接列表。算法在$n$顶点上具有独立指数边权值的完全有向图上的运行时间是$O(n)$,具有很高的概率。这改进了$O(n\log n)$以前的最佳结果,如果只允许前向扫描,这是最好的可能性,表现出只向前和前向-后向SSSP算法之间有趣的分离。作为结果,我们还得到了一个新的全对最短路径算法。该算法在具有独立指数边权重的完全图上的预期运行时间为$O(n^2)$,与Peres等人分析的Demetrescu和Italiano最近的算法相匹配。此外,新算法需要超过$O(n^2)$时间的概率是指数小的,改进了Peres等人获得的$O(n^{-1/26})$概率界。

英文摘要:

We describe a new forward-backward variant of Dijkstra's and Spira's Single-Source Shortest Paths (SSSP) algorithms. While essentially all SSSP algorithm only scan edges forward, the new algorithm scans some edges backward. The new algorithm assumes that edges in the outgoing and incoming adjacency lists of the vertices appear in non-decreasing order of weight. (Spira's algorithm makes the same assumption about the outgoing adjacency lists, but does not use incoming adjacency lists.) The running time of the algorithm on a complete directed graph on $n$ vertices with independent exponential edge weights is $O(n)$, with very high probability. This improves on the previously best result of $O(n\log n)$, which is best possible if only forward scans are allowed, exhibiting an interesting separation between forward-only and forward-backward SSSP algorithms. As a consequence, we also get a new all-pairs shortest paths algorithm. The expected running time of the algorithm on complete graphs with independent exponential edge weights is $O(n^2)$, matching a recent algorithm of Demetrescu and Italiano as analyzed by Peres et al. Furthermore, the probability that the new algorithm requires more than $O(n^2)$ time is exponentially small, improving on the $O(n^{-1/26})$ probability bound obtained by Peres et al.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑