【发布时间】:2015-11-01 16:26:42
【问题描述】:
我正在尝试通过使用按“间隔的‘低’值”排序的平衡二叉搜索树来实现 augmented interval tree。
在普通的旧搜索树中,当尝试插入树中已经存在的键时,通常会忽略重复项(不插入)。
但在存储区间时,我可能有 (1,2) 和 (1,3) 具有相同的“低”值但不同。
如何处理增广区间树中重复的“低”值?我的意思是,我应该允许插入多个相同的“低”值吗?以什么顺序?如果有重复的键,如何在树中搜索?
【问题讨论】:
-
如果旧区间完全包含在新区间中,一个选项是用新区间替换旧区间,如本例所示。
-
显然存储两个区间,键是键,值是值。没有人说一个键可以有多个值。
-
你有没有得到一个有效的实现?我在红黑树上实现了一个间隔树,但删除速度似乎很慢。我想知道我的增强逻辑是否会减慢它的速度。我找不到任何处理插入和删除的参考代码,所以我可能会做一些低效的事情。
标签: algorithm data-structures binary-search-tree intervals