数据结构笔记:PR四叉树

2023-11-16

1 基本介绍

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

2 数据结构

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

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

3 插入

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

3.1.1 举例

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

  • 初始状态:
  • 插入(1,1)
    • 直接存储在根节点
  • 插入 (2, 2)
    • 将根节点分割成四个 2x2 的区域。将 (1, 1) 放入左下区域,(2, 2) 放入右上区域
  • 插入(3,3)
    • 同样放在右上,但由于右上已经有点(2,2),所以再次分割

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据结构笔记:PR四叉树 的相关文章

  • pandas的行列获取/pandas iloc和loc的使用/如何获取pandas的行和列

    Pandas行和列的获取 由于平时没有系统的学习pandas 导致在实际应用过程中 对于获取df中的行和列经常出现问题 于是总结一下 供自己以后参考 参考的书籍在线版链接 利用 Python 进行数据分析 第 2 版 0 查看手册 请当你看
  • 深度学习之基于VGG16与ResNet50实现鸟类识别

    鸟类识别在之前做过 但是效果特别差 而且ResNet50的效果直接差到爆炸 这次利用VGG16与ResNet50的官方模型进行鸟类识别 1 导入库 import tensorflow as tf import numpy as np imp
  • ubuntu安装/查看已安装包的方法

    自己折腾ubuntu安装包来着 发现一篇文章非常实用 将apt get和dpkg等命令的参数讲解非常全面 于是转载过来 中文的比英文的帮助看着还是顺手一点 原文链接 http www cnblogs com forward archive

随机推荐

  • vue 给页面局部加水印和全部加水印

    局部加水印 在公共类js下 新建一个watermask js 代码如下 export default tool js addWaterMark const strArr localStorage getItem loginUserName
  • 图的深度优先遍历(Depth First Search)

    图的深度优先遍历 Depth First Search 基本思想 类似于二叉树的先序遍历 假设图中所有结点均未被访问 从初始结点访问 访问其第一个邻接结点 接着以被访问的邻接结点作为初始结点 访问它的第一个邻接结点 递归的过程 算法步骤 访
  • Cesium快速入门

    Cesium是全世界使用最广泛的3D WebGIS引擎 国内有若干个GIS厂家的3D GIS引擎也是基于Cesium进行开发 随着国家 新基建 数字化 战略的不断发展深化 越来越多的城市数字化项目需要用上3D GIS引擎 对Web端而言 C
  • 简单记录搭建SSM(Spring+Spring MVC+Mybatis)整合

    业务层 View 数据显示 Controller 业务控制 执行成功怎么处理 执行失败怎么处理 Service 业务处理 Model 数据库相关实体类 增删改查 工程搭建 第一步 创建Maven web工程 点击finish创建完毕工程 第
  • C++在路径下新建一个指定名称的文件夹

    在保存数据是 我们希望将新生成的数据单独保存在一个文件夹中 其实我们可以通过程序自动生成一个指定名称的文件夹 存放数据 而不必提前手动新建文件夹并修改名称 代码实现的方法也很简单 但是需要注意的是该方法需要包含windows h头文件 代如
  • 树莓派——制作静态库、动态库

    库的特点 库是可执行代码的二进制形式 即将源代码转换成二进制的源代码 相当于对源代码进行了加密 别人可以看见库使用库 但是看不见库的源代码 2种类型库 静态库 libxxx a 动态库 libxxx so 静态库 在程序执行前就加入到目标程
  • Spring IoC是什么

    IoC是什么 Ioc Inversion of Control 即 控制反转 不是什么技术 而是一种设计思想 在Java开发中 Ioc意味着将你设计好的对象交给容器控制 而不是传统的在你的对象内部直接控制 如何理解好Ioc呢 理解好Ioc的
  • FDTD solutions——TFSF(全场散射场)光源及斜入射

    每天一遍 防止忘记 初始建立仿真文件 1 建立物理结构 几何结构 材料特性 2 定义仿真区域 边界条件 3 设置激励源 光源 4 设置监视器 至少使用一个时间监视器 分析组 只记录需要的数据 运行与仿真 1 运行仿真文件 分布式并行运算 并
  • 深度学习中的目标识别

    博主简介 博主是一名大二学生 主攻人工智能研究 感谢让我们在CSDN相遇 博主致力于在这里分享关于人工智能 c Python 爬虫等方面知识的分享 如果有需要的小伙伴可以关注博主 博主会继续更新的 如果有错误之处 大家可以指正 专栏简介 本
  • 车联网企业排行榜

    1 为紧跟车联网行业发展动态 聚焦优质市场主体 中国价值公司100排行榜之车联网企业排行榜从经营分析 发展能力以及社会责任三个维度对30家车联网重点企业进行综合评分 2 车载信息服务领域 市场主体多样 角色多元 以百度 腾讯 博泰 四维图新
  • K8s-yaml的使用及命令

    YAML配置文件管理对象 对象管理 创建deployment资源 kubectl create f nginx deployment yaml 查看deployment kubectl get deploy 查看ReplicaSet kub
  • 超详细OpenStack一键式部署

    1 准备镜像文件 Cen1 创建新的虚拟机 1 创建虚拟机 点击关闭 2 安装Centos7 密码自己设置 不用跟着一样 2 生成动态IP地址 root localhost dhclient 3 查看生成的IP地址 root localho
  • Windows安装子系统Linux

    Windows安装子系统 Linux ubuntu 安装条件 步骤 1 安装WSL命令 2 设置Linux用户名和密码 3 写个简单的 c程序看看 4 如何互传文件 安装条件 Windows 10版本2004及更高的版本才能安装 步骤 1
  • 多模态中的指令控制(InstructPix2Pix,SayCan)

    InstructPix2Pix Learning to Follow Image Editing Instructions 图像的语言指令生成 目的是遵循人工指令去编辑图像 即给定输入图像和一个如何编辑它的文本指令 模型尝试遵循这些指令来编
  • 数据治理:数据治理之道-数据文化-数据思维融入企业文化

    参考 一本书讲透数据治理 数据治理 等 大数据的根本价值在于从数据的不确定性中发现规律 获得确定性 想要在繁杂的大数据中快速找到价值数据 并依靠数据发现 分析 解决 跟踪问题 企业必须有数据思维与数据文化 数字转型 文化先行 数字化趋势下
  • Node.js学习笔记

    一 初识Node js 1 Node js是什么 1 Node js是一个基于Chrome V8 引擎的 JavaScript 运行环境 2 Node js官网 http nodejs cn 2 运行环境 注意 浏览器是JavaScript
  • 运放相位(频率)补偿电路设计

    集成运放的内部是一个多级放大器 其对数幅频特性如图 1所示中的曲线 实线 对数幅频特性曲线在零分贝以上的转折点称为极点 图中 称P1 P2点为极点 极点对应的频率称为转折频率 如fp1 fp2 第一个极点 即频率最低的极点称为主极点 在极点
  • Java实现远程调试

    https www cnblogs com wwywwy p 9626078 html 远程调试 主动连接调试 服务端配置监控端口 本地IDE连接远程监听端口进行调试 一般调试问题用这种方式 被动连接调试 本地IDE监听某端口 等待远程连接
  • 分段和分页内存管理

    两者描述 打个比方 比如说你去听课 带了一个纸质笔记本做笔记 笔记本有100张纸 课程有语文 数学 英语三门 对于这个笔记本的使用 为了便于以后复习方便 你可以有两种选择 第一种是 你从本子的第一张纸开始用 并且事先在本子上做划分 第2张到
  • 数据结构笔记:PR四叉树

    1 基本介绍 在PR四叉树中 每个节点代表一个矩形区域 并且每个节点要么没有子节点 要么有四个子节点 分别代表该矩形区域的四个象限 2 数据结构 PR四叉树的每个节点通常包含以下几个元素 区域 矩形 节点所代表的二维空间范围 点 存储在该区