赞
踩
R-trees: a dynamic index structure for spatial searching 1984
- 首先假设所有数据都是二维空间下的点,图中仅仅标志了R8区域中的数据,也就是那个shape of data object
- 为了实现R树结构,用一个最小边界矩形恰好框住这个不规则区域
- 这样就构造出了一个区域:R8
- 其他实线包围住的区域,如R9,R10,R12等都是同样的道理
- 一共得到了12个最最基本的最小矩形。这些矩形都将被存储在子结点中
- 下一步操作就是进行高一层次的处理。我们发现R8,R9,R10三个矩形距离最为靠近,因此就可以用一个更大的矩形R3恰好框住这3个矩形
- 同样道理,R15,R16被R6恰好框住,R11,R12被R4恰好框住
- 所有最基本的最小边界矩形被框入更大的矩形中之后
- 再次迭代,用更大的框去框住这些矩形
除非它是根结点之外,所有叶子结点包含有m至M个记录索引(条目)。
作为根结点的叶子结点所具有的记录个数可以少于m。通常,m=M/2。
每一个非叶子结点拥有m至M个孩子结点,除非它是根结点
所有叶子结点都位于同一层,因此R树为平衡树
’
由于插入的y所在的区域P2的数据条目仍然有足够的空间容纳条目y,但是y的区域面积即MBR并不完全位于P2的区域之内,因此我们在插入数据y后会导致P2区域的相应扩大
由于此时分裂已经传递到根结点,所以生成新的根结点记录Q1,Q2。
举例:
以下是原始的空间分割和R-tree
现在删除一个绿色的区域
此时对应的MBR中只有一条记录,不满足R树性质,发生下溢,将另一个绿色的区域放入链表中
放入链表后,上层MBR也只有一条记录,所以也放入链表中
分别进行插入操作(也是一样,先找到矩形应该插入的位置,然后判断是否需要分裂)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。