CGAL 空间排序算法

一、简介

在CGAL中实现的许多几何算法都是增量的,因此它们的速度取决于插入的顺序。而排序算法可以大大提高这类算法的运行时间。其基本原理是沿着空间填充曲线对对象进行排序,以便几何上接近的两个对象在插入顺序上有高概率接近。这样,在插入过程中要查看的部分数据结构可能已经在最近的插入中查看过了。此外,这些排序函数通常会改善增量算法产生的数据结构的内存局部性,有时会导致使用这些数据结构的其他算法的速度加快。

一些算法在随机假设条件下具有良好的复杂度,这与使用任意排序准则对输入进行排序的思想相矛盾。在这种情况下,可以引入一点随机性,从而结合良好的随机复杂性和局部性的良好效果。

1.1Hilbert Sorting(希尔伯特排序)

在二维空间中,我们可以构造一条空间填充曲线,即f([0,1])到单位正方形

猜你喜欢

转载自blog.csdn.net/dayuhaitang1/article/details/130611191