Database 为什么R-树是无序的?然而,据说它遵循了B-树的规则

Database 为什么R-树是无序的?然而,据说它遵循了B-树的规则,database,data-structures,b-tree,spatial-index,r-tree,Database,Data Structures,B Tree,Spatial Index,R Tree,好的,在下面的截图中是一棵R树。它的根上有R1和R2。R1的左边是r3,r3,r5。为什么呢?我认为根元素左边的元素应该小于。如果根上的根元素是R6,那么将R3、R4、R5放在左边是有意义的。据我所知,到目前为止,B+和B-树都遵循这个规则 同样在叶节点上,为什么R12等之后有一个空的空间?我很困惑 B-树和R-树基于完全不同的概念。它们几乎没有共同点:相似的名称和高n-算术性(这样它们就可以存储在随机访问时间差的磁盘中) B-tree存储自然有序的一维值。R-tree存储多维值,这些值不能自然

好的,在下面的截图中是一棵R树。它的根上有R1和R2。R1的左边是r3,r3,r5。为什么呢?我认为根元素左边的元素应该小于。如果根上的根元素是R6,那么将R3、R4、R5放在左边是有意义的。据我所知,到目前为止,B+和B-树都遵循这个规则

同样在叶节点上,为什么R12等之后有一个空的空间?我很困惑


B-树和R-树基于完全不同的概念。它们几乎没有共同点:相似的名称和高n-算术性(这样它们就可以存储在随机访问时间差的磁盘中)

  • B-tree存储自然有序的一维值。R-tree存储多维值,这些值不能自然排序。(您将如何订购成对的x/y坐标?)

  • B树存储元素本身,而R树存储人工构造的边界框的坐标。上图中的Ri只是随机标签——你们可以用你们喜欢的任何名字来替换它们

  • B-树和R-树中的连接表示绝对不同的关系

    如果某些B-树节点存储n个值,那么它有n+1个指针,这些指针位于相邻值之间(语义上)。例如,如果某个指针位于值25和70之间,那么它将指向允许存储26到69的元素的子树。因此,可以说B-树中的连接意味着关系之间的连接

    如果某个R树节点存储了n个边界框坐标,那么它也有n个指向较低级别的指针,每个边界框一个指针。若某个指针属于Ri,那个么它将指向子树,该子树包含相对于Ri的所有内部边界框。这是一种“包含”关系

  • 为了进一步了解B树和R树之间的差异,您可以构造存储一维数字(矩形退化为线段)的R树,并将其与B树进行比较

    所以,回答你的第一个问题:R1不小于R3,R4或R5。这些只是各自矩形的标签。相反,R3、R4和R5是R1的一部分


    至于为什么会有空的空间——这取决于用于构造树的算法。不同的算法和不同的插入/删除顺序可能最终导致不同的树包含相同的元素集。(B-树也是如此。)

    B-树和R-树基于完全不同的概念。它们几乎没有共同点:相似的名称和高n-算术性(这样它们就可以存储在随机访问时间差的磁盘中)

  • B-tree存储自然有序的一维值。R-tree存储多维值,这些值不能自然排序。(您将如何订购成对的x/y坐标?)

  • B树存储元素本身,而R树存储人工构造的边界框的坐标。上图中的Ri只是随机标签——你们可以用你们喜欢的任何名字来替换它们

  • B-树和R-树中的连接表示绝对不同的关系

    如果某些B-树节点存储n个值,那么它有n+1个指针,这些指针位于相邻值之间(语义上)。例如,如果某个指针位于值25和70之间,那么它将指向允许存储26到69的元素的子树。因此,可以说B-树中的连接意味着关系之间的连接

    如果某个R树节点存储了n个边界框坐标,那么它也有n个指向较低级别的指针,每个边界框一个指针。若某个指针属于Ri,那个么它将指向子树,该子树包含相对于Ri的所有内部边界框。这是一种“包含”关系

  • 为了进一步了解B树和R树之间的差异,您可以构造存储一维数字(矩形退化为线段)的R树,并将其与B树进行比较

    所以,回答你的第一个问题:R1不小于R3,R4或R5。这些只是各自矩形的标签。相反,R3、R4和R5是R1的一部分


    至于为什么会有空的空间——这取决于用于构造树的算法。不同的算法和不同的插入/删除顺序可能最终导致不同的树包含相同的元素集。(B-树也是如此。)

    只对一维数据进行排序

    R-树的平衡和分裂思想与B-树相似;R-树同样可以确保最小的页面填充量等-页面的概念也类似


    但是,虽然B-树使用节点的线性顺序,但R-树使用的是边界卷层次结构,而不是线性顺序,因为多维数据没有顺序。R-树中没有“左”或“右”。

    只对一维数据进行排序

    R-树的平衡和分裂思想与B-树相似;R-树同样可以确保最小的页面填充量等-页面的概念也类似


    但是,虽然B-树使用节点的线性顺序,但R-树使用的是边界卷层次结构,而不是线性顺序,因为多维数据没有顺序。R树中没有“左”或“右”。

    有人能帮忙吗?有人能帮忙吗?所以r3、r4、r5也可以放在左边?不是强制性的?Gudok,R树中的插入和删除是如何工作的?我在网上看到的解释很模糊。他们没有详细解释,是的。你不能说Ri比Rj大——根本没有为矩形定义这样的关系。但你可以说Ri包含在Rj中——这就是为什么R3,R4,R5位于以R1为根的子树中。将每个节点内的值视为集合,而不是排序列表(如B树)。您可以轻松地将R3、R4、R5重新排列为