当前位置: 首页 > news >正文

可爱的二维数据结构们

前置知识

相信大家都学过了:

  1. 树套树、二维树状数组;
  2. 四分树;
  3. K-D Tree;

正文

给你一个 \(n\times n\) 二维平面,支持单点修改,矩形查询。这是我们树套树、二维树状数组能解决的,时间复杂度 \(\mathcal{O}(n\log^2n)\)

那如果我们需要支持区间修改呢?此时不太能树套树,除非修改有一定性质。

此时需要使用四分树。

容易证明四分树单点定位 \(\mathcal{O}(\log n)\),但是矩形定位 \(\mathcal{O}(n)\)

其实可以看做 \(n\times n\) 个点的 2D Tree,矩形定位 \(\mathcal{O}(\sqrt{n\times n})=\mathcal{O}(n)\)

四分树有两种写法,一种是四叉树形式,一种是每次分割矩形的长边的二叉树形式,是差不多的。

http://www.zskr.cn/news/3065.html

相关文章:

  • 202005_CTFHUB_Redis流量
  • langchain学习之路
  • 通义灵码产品演示: 数据库设计与数据分析
  • ubuntu 24编译安装libssl.so.1.0.0
  • Task2:利用 Basnet 将Task1中的所有图片转化为显著性图片
  • 让天下没有难查的故障:2025 阿里云 AI 原生编程挑战赛正式启动
  • kuka机器人程序备份
  • AI 测试工具20款
  • VMware安装NOI linux系统教程
  • 近期理工类学术会议推荐 | 人工智能、工业设计、电气工程、传感器技术、环境工程等EI会议合集
  • 史上最薄iPhone 17 Air登场!极致轻薄背后藏有哪些妥协?
  • 网页转小程序封装机系统介绍
  • P12021 面包题
  • 彻底解决docker:docker: Get https://registry-1.docker.io/v2/: net/http: request canceled 报错
  • 7. Job与CronJob
  • drawio
  • bootstrap-select插件在webpack中点击无响应
  • 重复从网页复制文字到编辑器的Autohotkey自动化代码
  • 202404_古剑山杯_数独
  • mac book怎么切换windows系统
  • 用Android(Kotlin)+ ML Kit:移动端英文数字验证码识别实战
  • 详细介绍:10:00开始面试,10:06就出来了,问的问题有点变态。。。
  • 第02周 预习:Java基础语法2、面向对象入门 - hohohoho--
  • 第六届机器学习与计算机应用国际学术会议(ICMLCA 2025)
  • # 数论知识讲解与C++代码:唯一分解定理、辗转相除法、埃氏筛与线性筛(含质因数分解示例)
  • 【初赛】无向图度数性质 - Slayer
  • $p\oplus q=r$
  • Jack-of-All-Trades
  • Matlab的交通标志定位实现
  • vuejs3.0 从入门到精通【左扬精讲】—— 从原生到原子化:一文梳理现代 CSS 技术体系(2025 版)