- 我有大量 2D 对象集合,目前只有线条。
- 我需要算法建议如何创建最快的空间索引 这个集合,以便我可以收集某些内部的所有对象 界限。
- 索引一旦建立就不会更新。
- 此数据库中的对象分布在空间上并不均匀。
- 用 C# 实现算法。
- 更新:当前使用的是某些国家的道路图,因此从一个十字路口到另一个十字路口的线条很小,人口稠密的地区密度更大。我认为这很好地描述了数据。
显然有很多索引方法可以实现这一目标,但我需要一种最快的方法。
最佳答案
您可以使用Segment Tree 如果您想保存二维线并且您的查询是二维范围查询。
查询的算法复杂度为 O( log^2 N )。
关于c# - 最快的二维数据空间索引,一旦构建就无需更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8152122/