快速计算圆内的点数
问题内容:
给定平面上的一组n个点,我想以某种方式比O(n ^ 2)(最好是O(nlog(n)))更快地预处理这些点,然后能够回答以下类型的查询“
n个点位于一个具有给定中心和半径的圆内?” 比O(n)更快(最好是O(log(n)))。
您能否建议一些可用于此问题的数据结构或算法?
我知道这类问题通常可以使用Voronoi图解决,但我不知道如何在此处应用。
问题答案:
给定平面上的一组n个点,我想以某种方式比O(n ^ 2)(最好是O(nlog(n)))更快地预处理这些点,然后能够回答以下类型的查询“
n个点位于一个具有给定中心和半径的圆内?” 比O(n)更快(最好是O(log(n)))。
您能否建议一些可用于此问题的数据结构或算法?
我知道这类问题通常可以使用Voronoi图解决,但我不知道如何在此处应用。