《算法导论》笔记 第14章 14.3 区间树

本文介绍了区间树的概念,这是一种基于红黑树的数据结构,用于动态维护包含区间的集合。区间树支持 INTERVAL-INSERT、INTERVAL-DELETE 和 INTERVAL-SEARCH 操作。文章探讨了区间三分法,解释了区间树节点的附加信息,如 max 域的维护,并给出了区间搜索的实现。练习部分包含了关于区间树操作的进一步问题,涉及区间查询和优化。
摘要由CSDN通过智能技术生成

【笔记】

待码!!!!!


把一个区间[t1,t2]表示为一个对象i,其各个域为low[i]=t1(低端点),high[i]=t2(高端点)。

我们说区间i和i'重叠,如果i∩i'≠ Ø。亦即如果low[i]<=high[i'],且low[i']<=high[i]。


任意两个区间i和i'满足区间三分法,也就是下列三种性质之一:

a) i 和 i' 重叠

b) i 在 i' 左边

c) i 在 i' 右边


区间树是一种对动态集合进行维护的红黑树,该集合中的每个元素x都包含一个区间int[x]。区间树支持下列操作:

INTERVAL-INSERT(T,x):将包含区间域int的元素x插入到区间树T中。

INTERVAL-DELETE(T,x):从区间树中删除元素x。

INTERVAL-SEARCH(T,i):返回一个指向区间树T中元素x的指针,使int[x]与i重叠;若集合中无此元素存在,则返回nil。


基础数据结构:红黑树,每个结点x包含一个区间域int[x],x的关键字为区间的低端点low[int[x]]。

附加信息:max[x],即以x为根的 子树中所有区间的端点的最大值。

对信息的维护:max[x] = max{ high[int[x]], max[left[x]], max[right[x]] }

设计新的操作:SEAR

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值