二维数据点范围查询

2D data point range query

我正在处理一个巨大的二维数据集,需要对每个点进行范围查询,将范围内的邻居作为一个集合返回 我已经使用 KD Tree 形式的 sk learn 索引进行了测试,但问题是,returns 索引作为列表并且转换为集合花费的时间太长。 是否有一种数据结构,returns 范围查询中的点作为集合而不是列表?

结果本身不是列表。

获取k-d-tree的源代码,修改成直接写入集合,而不是列表。

但我非常怀疑这能否解决您的实际问题。将一个小列表转换为一个集合应该几乎不是性能问题......但是,你正在使用 python。传统的 python set() 会比 numpy 数组慢很多很多。但是不要怪数据结构没有使用慢集