|
1
7
你考虑过其他的数据结构吗? 我相信,点四叉树代替r-树会更有效地满足你的需要。 Spatial Index Demos 为可能的数据结构列表(包括R树和点四叉树)提供一些演示。希望它能给我们一个启示。 |
|
2
5
四叉树 四叉树取一个正方形的空间,并将其分成四个子空间,其中一半的维度沿x轴和y轴。
此数据结构是递归的,您可以通过检查哪个子级在到达叶之前保持该点来搜索点。一个叶要么有一个成员(x,y坐标点)要么有一个成员列表,具体取决于实现。如果填充了一个节点,则将其拆分为4个并分配子节点。从本质上讲,数据结构是二叉树的泛化,因此不一定是平衡的。 平衡四叉树对于你的目的来说可能不是必需的,它留给读者作为一个练习-尝试在web上搜索“平衡四叉树” 请注意,此数据结构不能索引可以重叠的项,但如果您只存储点,这不会是一个问题。 在四叉树中寻找最近的邻居 在我的头顶上,有一个快速而肮脏的算法,可以找到离你点最近的“n”个邻居。它不一定是最优的效率,但是实现起来相当简单。如果有人有一个更好的链接,请随时在评论或回答中发布。
|
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |