计算可见最近外来邻居的最优算法
在几何计算领域,寻找可见最近外来邻居(Visible Nearest Foreign Neighbors,VNFN)是一个重要的问题。本文将详细介绍一种计算 VNFN 的最优算法,包括算法原理、数值考虑、应用场景以及具体的实现步骤。
1. 问题概述
在一个线段集合 $S$ 中,可见最近外来邻居问题(VNFNP)介于最近外来对问题(CFPP)和所有最近外来邻居问题(ANFNP)之间。如果 $(u, v)$ 是线段集合 $S$ 中的最近外来对,那么 $u$ 和 $v$ 互为可见最近外来邻居。但反之,若 $v$ 是 $u$ 的可见最近外来邻居,$v$ 一定是 $u$ 的最近外来邻居,但反之不一定成立。
2. 基于 Voronoi 图的简单方法及其局限性
- 原理 :可以通过 Voronoi 图 $VD(S)$ 来计算所有可见互逆外来邻居对。若 $u$ 和 $v$ 是可见互逆外来邻居,以它们之间外国距离实现点的中点为圆心、距离的一半为半径的开圆,不会与 $S$ 中的任何线段相交,该圆心是 $VD(S)$ 的一部分,且位于 $u$ 和 $v$ 的 Voronoi 区域边界上,即 $u$ 和 $v$ 是 $VD(S)$ 中的 Voronoi 邻居。由于 $VD(S)$ 可以在 $O(n \log n)$ 时间内计算,根据平面图形的欧拉公式,所有可见互逆外来邻居对可以在 $O(n \log n)$ 时间内、使用 $O(n)$ 空间计算出来。通过该算法的输出,还可以在 $O(n)$ 时间内得到线段集合 $S$ 上 CFPP 的解。
- 局限性
计算可见最近外来邻居的算法
超级会员免费看
订阅专栏 解锁全文
50

被折叠的 条评论
为什么被折叠?



