Given a set $P$ of $n$ points in $\mathbb{R}^2$ and an input line $\gamma$ in $\mathbb{R}^2$, we present an algorithm that runs in optimal $\Theta(n\log n)$ time and $\Theta(n)$ space to solve a restricted version of the $1$-Steiner tree problem. Our algorithm returns a minimum-weight tree interconnecting $P$ using at most one Steiner point $s \in \gamma$, where edges are weighted by the Euclidean distance between their endpoints. We then extend the result to $j$ input lines. Following this, we show how the algorithm of Brazil et al. ("Generalised k-Steiner Tree Problems in Normed Planes", arXiv:1111.1464) that solves the $k$-Steiner tree problem in $\mathbb{R}^2$ in $O(n^{2k})$ time can be adapted to our setting. For $k>1$, restricting the (at most) $k$ Steiner points to lie on an input line, the runtime becomes $O(n^{k})$. Next we show how the results of Brazil et al. ("Generalised k-Steiner Tree Problems in Normed Planes", arXiv:1111.1464) allow us to maintain the same time and space bounds while extending to some non-Euclidean norms and different tree cost functions. Lastly, we extend the result to $j$ input curves.
翻译:给定$\mathbb{R}^2$中$n$个点的集合$P$和$\mathbb{R}^2$中的一条输入直线$\gamma$,我们提出一种算法,以最优的$\Theta(n\log n)$时间和$\Theta(n)$空间解决1-斯坦纳树问题的限制性版本。该算法返回连接$P$的一棵最小权重树,其中最多使用一个位于$\gamma$上的斯坦纳点$s$,边权重由端点间的欧几里得距离定义。随后我们将结果推广至$j$条输入直线。在此基础上,我们展示了Brazil等人("Generalised k-Steiner Tree Problems in Normed Planes", arXiv:1111.1464)提出的在$\mathbb{R}^2$中以$O(n^{2k})$时间求解$k$-斯坦纳树问题的算法如何适应我们的场景。当$k>1$时,限制(最多)$k$个斯坦纳点位于一条输入直线上,运行时间降为$O(n^{k})$。进一步地,我们借助Brazil等人的结果("Generalised k-Steiner Tree Problems in Normed Planes", arXiv:1111.1464)证明,在扩展至某些非欧几里得范数和不同树代价函数的情况下,仍能保持相同的时间和空间复杂度。最后,我们将结果推广至$j$条输入曲线。