我一直在阅读维基百科上的间隔树。有谁知道如何在delete
中实施Java
方法?删除算法的链接是http://en.wikipedia.org/wiki/Interval_tree#Deletion
答案 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)
}