【发布时间】:2019-05-14 20:40:18
【问题描述】:
我正在寻找一种可以在网格中进行高效搜索的算法。
我有一个包含所有质心点 (x,y,z) 的大数组
现在对于给定的位置 (xp,yp,zp),我想找到离该 p 位置最近的质心。
目前我正在做一个蛮力搜索,基本上对于每个点 p 我都会遍历所有点,计算到位置 p 的距离,并由此找出是哪个质心。
我知道八叉树搜索和 kd-tree 可能会有所帮助,但不太确定如何解决它或哪个更好。
【问题讨论】:
-
您能否解释一下非结构化网格的含义以及您需要它的用途?也许您不需要任何网格,听起来您可以将所有质心放在 kd-tree 或 octree 中,然后进行最近邻搜索 (xp,yp,zp) 以找到最近的质心?
-
@TilmannZ 它是一个非结构化网格,其中欧几里得空间以不规则模式离散化。因此,它需要某种拓扑信息来理解网格。但是,是的,你是对的。我们可以假设我有很多点质心 (x,y,z),并且我有很多候选点 (xp,yp,zp),我需要在其中找到最近的质心
-
我已将文本更改为不会被非结构化网格术语混淆
标签: search binary-search-tree kdtree octree