R*树(一)

最近在看R*树,头疼的一笔。小小总结一下,希望对研究这方面的人有帮助(有些东西是参考了网上其他人的文章)。

         说道R*树不得不提到R树,因为它是R树的变种(variant)。R树是1984年由Guttman等人提出来的,他们在sigmod上发表了一篇名叫“R-trees a dynamic index structure for special searching”。R树是一种高度平衡树。它由叶子节点和非叶子节点组成,实际数据对象的最小外界矩形存储在叶节点中,中间节点通过聚集其底层节点的外界矩形形成,包含所有这些外界矩形。其后,人们在此基础上针对不同空间运算提出了不同改进,才形成了一个繁荣的索引树族,是目前最流行的空间索引。

         R树是一个采用空间对象界定技术的高度平衡树,它将空间对象按范围划分,每个节点对应一个区域和一个磁盘页。非叶结点的磁盘页中存储其所有子结点的区域范围,非叶结点的所有子结点的区域都落在它的区域范围之内;叶结点的磁盘页中存储其区域范围之内的所有空间对象的外接矩形。每个结点所能拥有的子结点数目有上、下限,下限保证对磁盘空间的有效利用,上限保证每个结点对应一个磁盘页,当插入新的结点导致某结点要求的空间大于一个磁盘页时,该结点一分为二。R树是一种动态索引结构,即:它的查询可与插入或删除同时进行,而且不需要定期地对树结构进行重新组织。

       R树的索引结构如下:

          (1)R-Tree是n叉树,n称为R-Tree的扇(fan)

          (2)每个结点对应一个矩形。

          (3)叶子结点上包含了小于等于n的对象,其对应的矩为所有对象的外包矩形。

          (4)非叶结点的矩形为所有子结点矩形的外包矩形。

(1)除根节点外,每个节点的项数介于最小项数m和最大项数M之间;

(2)根节点至少有两个孩子,除非它是叶子节点;

(3)所有叶子节点位于同一层;           每一个结点由若干个索引项构成。

                 对于叶子结点,索引项形如(Ituple-identifier)

                        I表示包围空间数据对象的最小外接矩形MBR

                        tuple-identifier标识一个空间数据对象。

                对于一个非叶子结点,它的索引项形如(I,Child_Pointer)。 

                        Child_Pointer指向该结点的子结点。

                        I仍指一个矩形区域,该矩形区域包围了子结点上所有索引项MBR的最小矩形区域。

       R树的一些性质:

          (1)除根节点外,每个节点的项数介于最小项数m和最大项数M之间;

          (2)根节点至少有两个孩子,除非它是叶子节点;

          (3)所有叶子节点位于同一层;

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值