Cost/Benefit 四叉树实现中的反向查找
Cost/Benefit of Reverse Lookup in Quadtree Implementation
最近写了一个点四叉树的实现,根据(x,y)坐标插入点。每个点都有唯一的 point_id.
目前没有反查功能,如果要找一个点,需要传递坐标。
维护像下面这样的伪代码有什么好处吗?
Map(point_id, [pointers to subtrees in quadtree that contain the point])
实施这样的事情有什么好处和坏处?
TL;DR 不需要传递几个字节的坐标的基本好处是不值得的。
我做了一些概念性的工作,并研究了实现所需的内容,与内存使用和执行时间的潜在缺点相比,反向查找似乎几乎没有什么好处。
出于这个原因,我选择维护基于坐标的实现,我发现它在规模上表现出色。
最近写了一个点四叉树的实现,根据(x,y)坐标插入点。每个点都有唯一的 point_id.
目前没有反查功能,如果要找一个点,需要传递坐标。
维护像下面这样的伪代码有什么好处吗?
Map(point_id, [pointers to subtrees in quadtree that contain the point])
实施这样的事情有什么好处和坏处?
TL;DR 不需要传递几个字节的坐标的基本好处是不值得的。
我做了一些概念性的工作,并研究了实现所需的内容,与内存使用和执行时间的潜在缺点相比,反向查找似乎几乎没有什么好处。
出于这个原因,我选择维护基于坐标的实现,我发现它在规模上表现出色。