【问题标题】:Could kd-tree build with dot-product?kd-tree 可以用点积构建吗?
【发布时间】: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


    【解决方案1】:

    我认为Ram & Gray 2008 正是您正在寻找的。他们称自己的结构为“锥树”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-20
      • 2014-01-27
      • 1970-01-01
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      • 1970-01-01
      • 2021-10-10
      相关资源
      最近更新 更多