【发布时间】:2013-12-29 00:43:16
【问题描述】:
一个普通的kd-tree是通过递归地将超级平面分成两半来构造的。并且要使用查询点进行范围搜索,它只会搜索一小部分点(log)而不是全部(线性)。
我想知道可以用点积构建一个 kd-tree 吗?
例如,b 是一个 3d 向量列表:
b = np.random.rand(10,3)
a = (1,1,1) is a query vector
我想找到最近的满足:
a * bk > a * bi, for i = 1, 2, ...k-1, k+1, 10
我不想计算所有的 a * bi 点乘积对。
如何用b建树,查询a来的时候只计算a * bi的一部分?
【问题讨论】:
标签: python algorithm data-structures nearest-neighbor kdtree