-1

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

4

1 回答 1

1

结果本身不是一个列表。

获取 kd-tree 的源代码,并对其进行修改,使其直接写入集合,而不是列表。

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

于 2017-07-12T12:33:27.280 回答