存储实时图形点的最佳方法

时间:2013-04-27 06:05:33

标签: algorithm data-structures

我最近在编码面试中被问到以下问题:

“给定笛卡尔图的连续图形点(X,Y)流,设计一个数据结构来存储它们,以便在任何时候从给定点到距离k处搜索所有相邻点应该最多在时间复杂性方面有效。“

我的想法是使用关联列表。列表的每个节点都将X点作为键,其对应的Y点作为值。请建议任何更好的数据结构。

由于

1 个答案:

答案 0 :(得分:2)

http://en.wikipedia.org/wiki/R_tree

另见K-DTree,Quad Tree等

例如,在k-d树中找到k个最近邻居将采用O(k log n)或O(log n)作为常数k,时间。

将点存储在X中 - > Y映射对你没有帮助,因为如果它们的Y坐标非常接近,沿着X维度彼此远离的点仍然可以是最近邻居。