【问题标题】:Best way to store real time graph points [closed]存储实时图形点的最佳方式[关闭]
【发布时间】:2013-04-27 06:05:32
【问题描述】:

我最近在一次编程面试中被问到以下问题:

"给定一个笛卡尔图的连续的图点(X,Y)流,设计一个数据结构来存储它们,以便在任何时候搜索到与给定点距离为k的所有相邻点应该在最短时间内完成时间复杂度方面的有效方法。”

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

谢谢

【问题讨论】:

  • 四叉树......

标签: algorithm data-structures


【解决方案1】:

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

另见 K-DTree、四叉树等。

例如,在 k-d 树中找到 k 个最近的邻居将花费 O(k log n),或者对于常数 k,时间为 O(log n)。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-03
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 2012-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多