14.3-1 写出作用于区间树的结点且在 O(1) 时间内更新 max 属性的过程 LEFT-ROTATE 的伪代码。
ANSWER:
伪代码:
LEFT-ROTATE(T, x)
y = x.right
y.max = x.max
x.max = max(x.left.max, y.left.max, x.int.high)</span></span>
14.3-2 改写 INTERVAL-SEARCH 的代码,使得当所有区间都是开区间是,它也能正确地工作。
ANSWER:将第 3 行的 x.left.max ≥ i.low 改为 x.left.max > i.low。
14.3-3 请给出一个有效的算法,对一个给定的区间 i,返回一个与 i 重叠且具有最小低端点的区间;或者当这样的区间不存在时返回 T.nil。
ANSWER:

本文总结了《算法导论》14.3章节关于区间树的内容,包括LEFT-ROTATE节点更新max属性的O(1)时间实现,INTERVAL-SEARCH在处理开区间的优化,查找与给定区间重叠且低端点最小的区间的方法,以及如何在动态集合中维护MIN-GAP操作,以支持高效插入、删除、搜索和求最小间隔。所有这些操作的时间复杂度分析表明,区间树能以O(lgn)的时间完成插入和删除,而MIN-GAP可以在O(1)时间内完成。


被折叠的 条评论
为什么被折叠?



