Range queries & Range trees

本文详细介绍了可分解的范围查询及其在1维动态场景下的应用。通过使用平衡二叉搜索树,可以高效地处理插入、删除和查询操作,每个操作的时间复杂度为O(log n)。在查询时,通过找到最高节点并递归处理其子树,可以计算出指定区间的累积信息。此外,文章还讨论了如何处理不可分解的操作,如求平均数,并分析了特定情况下查询的时间复杂度。
摘要由CSDN通过智能技术生成

Range queries

给一些空间中的数据点,查询(query)在一定查询范围(query region)中的累积信息(aggregate information)

可以计算点点数量,列出点,最高优先级点,平均数,方差等

Decomposable Range Queries

A range query is decomposable if there is some binary operation ⊗
such that:
1. ⊗ is associative, commutative, and has an identity operand
2. If Q is a region and we split Q into two disjoint regions X
and Y :
query(Q) = query(X) ⊗ query(Y )
如果操作时可结合可交换的,并且在一个大范围上的查询可以分解为小范围上的,那么这个range query is decomposable。
比如说计数,求和,union,minimum等。
但求平均数是not decomposable的,因为不知道两部分的数量,不能直接两部分之间求平均。要计算sum和count后除出来。

1维动态可分解范围查询

数据有实数key(data不一定),在闭区间[L,R]上。数据可以插入或者删除。

使用平衡二叉搜索树来保存结果。那么排序结果就是平衡二产搜索树的中序遍历(左中右&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值