我正在学习数据结构课程,最近了解了kd 树,它通过用超平面划分空间来划分空间。
我想知道是否存在将空间划分为“内部”和“外部”区域的数据结构,其中超球体将节点连接到最近的节点。这允许以更直观的方式找到最接近包含在球形区域内的某个点的节点。
每个节点都需要跟踪它在空间中的位置、插入时到最近节点的半径/距离,以及它的内部和外部子节点。
这自然适用于二叉树状结构,其中每个节点都有一个内部和外部子节点,红黑树(或其他机制)可以保持这种平衡。它优于 kd 树,因为每个链接不必通过正交超平面划分,而是可以以与其他节点相同的方式使用超球面。
我发现这个想法的类似数据结构包括M-trees,但它们与我想象的有一些重大差异,因为通过使用红黑树作为底层结构,没有必要对一个区域的圈数。还有球树和有利位置树,但它们也各不相同。
这是一个(非常粗略的)谷歌幻灯片演示,详细说明了我的一些想法。
这个数据结构叫什么?