随机增量式Delaunay三角剖分算法的最坏情况是什么?


9

我知道随机增量Delaunay三角剖分算法(如“ 计算几何”中给出)的预期最坏情况运行时间为O(nlog⁡n)。有一个练习暗示最坏的运行时是。我试图构建一个例子,其中确实是这种情况,但到目前为止还没有成功。Ω(n2)

这些尝试之一是按以下方式安排和排序点集:在步骤添加点时,将创建大约边。prrr−1

另一种方法可能涉及点定位结构:尝试排列点,以使在点定位结构中用于在步骤定位点的路径尽可能长。prr

不过,我不确定这两种方法中的哪一种是正确的(如果有的话),并且会很高兴得到一些提示。


3
尝试将所有点放在曲线上 y=xr 对于一些精心挑选的 r。
— 彼得·索尔

Answers:


9

第一种方法可以形式化如下。

让 P 是任意集 n 抛物线的正分支上的点 y=x2; 那是,

P={(t1,t12),(t2,t22),…,(tn,tn2)}
对于一些正实数 t1,t2,…,tn。在不失一般性的前提下,假设这些要点的索引升序排列:0<t1<t2<⋯<tn。

索赔: 在Delaunay三角剖分中P,最左边的点 (t1,t12) 是的每个其他点的邻居 P。

这种说法意味着增加一个新的观点 (t0,t02) 至 P 与 0<t0<t1 添加 nDelaunay三角剖分的新边缘。因此,归纳地讲,如果我们渐进地收缩Delaunay三角剖分P通过按从右到左的顺序插入点,创建的Delaunay边的总数为Ω(n2)。


我们可以证明这一主张如下。对于任何实际价值0<a<b<c,让 C(a,b,c) 通过点表示唯一的圆圈 (a,a2),(b,b2),(c,c2)。

引理: C(a,b,c) 不包含任何点 (t,t2) 哪里 a<t<b 要么 c<t。

证明:记得四点(a,b),(c,d),(e,f),(g,h) 当且仅当是圆形的

|1aba2+b21cdc2+d21efe2+f21ghg2+h2|=0
因此,一点 (t,t2) 躺在圆上 C(a,b,c) 当且仅当
|1aa2a2+a41bb2b2+b41cc2c2+c41tt2t2+t4|=0
扩展和分解因子并不难(例如,请Wolfram Alpha) 4×4 行列式为以下形式:
(∗)(a−b)(a−c)(b−c)(a−t)(b−t)(c−t)(a+b+c+t)=0
从而, (t,t2) 位于 C(a,b,c) 当且仅当 t=a, t=b, t=c, 要么 t=−a−b−c<0。而且,因为0<a<b<c,这四个根是不同的,这意味着抛物线实际上穿过了 C(a,b,c)在这四个点。它遵循(t,t2)躺在里面 C(a,b,c) if and only if −a−b−c<t<a or b<t<c.◻

Thank you, even though I actually only wanted a hint (without the proof) ;)
— Tedil
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.