【发布时间】:2015-08-29 03:49:23
【问题描述】:
假设在 x-y-z 3D 空间中有一个具有 50 000 个点的点云。对于这个云中的每个点,应该实施哪些算法或数据结构来找到给定点的 k 个在 [R,r] 距离内的邻居?幼稚的方法是对 50 000 个点中的每个点进行 49 999 个点中的每个点并进行度量测试。但是这种方法需要很长时间。就像有 kd 树可以在短时间内找到最近的邻居,那么是否有一些实时 DS/algo 实现来预处理点云以在最短的时间内实现目标?
【问题讨论】:
-
预处理?只需浏览一次并为每个接近的点存储一个索引列表。 O(n^2) 但如果你只做一次,50k 点并不是一个巨大的数字。
-
@twentylem 我误解了我的问题。参考编辑并假设 n=200 000。
标签: algorithm data-structures graph-algorithm nearest-neighbor point-clouds