数据结构笔记:PR四叉树

1 基本介绍

在PR四叉树中,每个节点代表一个矩形区域,并且每个节点要么没有子节点,要么有四个子节点,分别代表该矩形区域的四个象限

数据结构笔记:PR四叉树_第1张图片

2 数据结构

PR四叉树的每个节点通常包含以下几个元素:

  • 区域(矩形):节点所代表的二维空间范围。
  • 点:存储在该区域内的点(通常只允许存储一个点,但也有变种)。
  • 四个子节点:分别代表左上、右上、左下、右下四个象限。

3 插入

  1. 从根节点开始。
  2. 判断要插入的点是否在当前节点的区域内。
  3. 如果在,查看当前节点是否已经存储了点。
    • 如果没有,存储这个点。
    • 如果有,把当前区域分割成四个象限,然后把当前点和新点分别放入相应的象限。
  4. 递归进行这个过程。

3.1.1 举例

假设我们有以下几个点:(1, 1), (2, 2), (3, 3),我们想要在一个 4x4 的区域内用 PR 四叉树来存储它们

  • 初始状态:
    • 数据结构笔记:PR四叉树_第2张图片
  • 插入(1,1)
    • 直接存储在根节点
    • 数据结构笔记:PR四叉树_第3张图片
  • 插入 (2, 2)
    • 将根节点分割成四个 2x2 的区域。将 (1, 1) 放入左下区域,(2, 2) 放入右上区域
    • 数据结构笔记:PR四叉树_第4张图片
  • 插入(3,3)
    • 同样放在右上,但由于右上已经有点(2,2),所以再次分割
    • 数据结构笔记:PR四叉树_第5张图片

数据结构笔记:PR四叉树_第6张图片

参考内容:GIS空间数据库(21)PR四叉树索引 | 麻辣GIS (malagis.com)

你可能感兴趣的:(其他,笔记)