如何从区间树中删除节点

时间:2012-11-12 00:10:47

标签: algorithm data-structures interval-tree

我一直在阅读维基百科上的间隔树。有谁知道如何在delete中实施Java方法?删除算法的链接是http://en.wikipedia.org/wiki/Interval_tree#Deletion

1 个答案:

答案 0 :(得分:0)

我假设使用中心区间树方法(您使用的链接指向的位置)进行删除的伪代码看起来像:

deleteInterval(Node n, Interval i)
{
  n.intervalsDesc.remove(i)
  n.intervalsAsc.remove(i)
  if (i.end < n.value && n.leftChild != null) deleteInterval(n.leftChild, i)
  if (i.begin > n.value && n.rightChild != null) deleteInterval(n.rightChild, i)
}