【问题标题】:range search complexity of R tree and R* treeR树和R*树的范围搜索复杂度
【发布时间】:2016-03-11 00:49:58
【问题描述】:

R 树和 R* 树的范围搜索复杂度是多少?我了解范围搜索的过程:类似于 DFS 搜索,它访问每个节点,如果节点的边界框与目标范围相交,则将该节点包含在结果集中。更准确地说,我们还需要考虑它使用的分支定界策略:如果父节点不与目标相交,那么我们就不会访问它的子节点。那么复杂度应该小于 O(n),其中 n 是节点的数量。给定叶子(或数据点)的数量,我真的不知道如何计算节点数。 有人可以在这里给我一个解释吗?谢谢你。

【问题讨论】:

    标签: data-structures complexity-theory spatial-query r-tree


    【解决方案1】:

    显然,如果您的范围在每个维度上都是 [-∞;∞],那么最坏的情况必须至少为 O(n)。由于树的原因,它可能与 O(n log n) 一样糟糕。

    假设答案是单个条目,平均情况可能是 O(log n) - 只需要遵循几条穿过树的路径(如果重叠足够少的话)。

    它记录到您的页面大小的基础。所以它通常不会超过 5,因为你永远不会想要超过 1000^5=10^15 个对象的树。

    出于所有实际目的,假设运行时复杂度只是答案集大小 O(s)。选择 2% 的数据所需的时间是 1% 的两倍。

    【讨论】:

    • 谢谢。这很有意义。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-10
    • 1970-01-01
    • 2015-02-21
    • 2014-02-28
    相关资源
    最近更新 更多