Given an $n$-vertex planar embedded digraph $G$ with non-negative edge weights and a face $f$ of $G$, Klein presented a data structure with $O(n\log n)$ space and preprocessing time which can answer any query $(u,v)$ for the shortest path distance in $G$ from $u$ to $v$ or from $v$ to $u$ in $O(\log n)$ time, provided $u$ is on $f$. This data structure is a key tool in a number of state-of-the-art algorithms and data structures for planar graphs. Klein's data structure relies on dynamic trees and the persistence technique as well as a highly non-trivial interaction between primal shortest path trees and their duals. The construction of our data structure follows a completely different and in our opinion very simple divide-and-conquer approach that solely relies on Single-Source Shortest Path computations and contractions in the primal graph. Our space and preprocessing time bound is $O(n\log |f|)$ and query time is $O(\log |f|)$ which is an improvement over Klein's data structure when $f$ has small size.
翻译:给定一个具有非负边权的$n$顶点平面嵌入有向图$G$及其一个面$f$,Klein提出了一种空间和预处理时间为$O(n\log n)$的数据结构,当$u$位于$f$上时,该结构可在$O(\log n)$时间内回答任意查询$(u,v)$(即$G$中从$u$到$v$或从$v$到$u$的最短路径距离)。该数据结构是当前平面图领域多项先进算法与数据结构的关键工具。Klein的数据结构依赖于动态树与持久化技术,以及原始最短路径树与其对偶树之间高度非平凡的相互作用。而本文数据结构构建采用了一种完全不同且我们认为极为简单的分治方法,该方法仅依赖原始图中的单源最短路径计算与收缩操作。本文空间与预处理时间上界为$O(n\log |f|)$,查询时间为$O(\log |f|)$,当面$f$规模较小时,该性能优于Klein的数据结构。