【发布时间】:2017-05-27 20:35:54
【问题描述】:
我正在处理一个巨大的二维数据集,需要对每个点进行范围查询,将范围内的邻居作为一个集合返回 我已经使用带有 KD Tree form sk learn 的索引进行了测试,但问题是,它将索引作为列表返回,并且转换为集合需要太长时间。 是否有一种数据结构,它将范围查询中的点作为集合而不是列表返回?
【问题讨论】:
-
您确定从 List 构造 Set 需要太长时间吗?你让它听起来像它需要的时间和范围查询本身一样长,甚至更长,在这种情况下,我怀疑你创建一个集合有问题。也许你可以给我们看一些时间数字?此外,每棵空间树还必须在内部将结果点添加到集合中,因此这实际上不会比迭代列表以创建集合要快...
-
你的问题在这里是答案stackoverflow.com/questions/44224696/… :)
-
好吧,参考资料只说明了为什么转换为 Set 比转换为 List 需要更长的时间。我的问题是它是否真的是瓶颈,通常范围查询应该比创建集合或列表花费更长的时间。另外,正如我所提到的,如果您想要一个 Set,则必须有人承担创建它的成本,无论是您还是 KD-Tree 在内部进行...
标签: indexing kdtree spatial-query spatial-index range-query