我需要一个Java中的IntervalTree或RangeTree实现,并且很难找到一个带有可用删除支持的实现。
在sun.jvm.hotspot.utilities.IntervalTree中有一个内置实现,但是RBTree超类中的deleteNode方法说明:
尝试从树中删除节点会导致抛出异常:“节点的最大端点未正确更新”。在sun.jvm.hotspot.utilities.IntervalTree子类中正确实现“delete”功能有多难?或者是否已经有另一个Interval Tree实现正确地实现了这个功能?目前,每次进行删除操作时,我只是清空整个树并重新填充,这远非理想(注意:在RBTree中设置DEBUGGING=false可以极大地提高速度)。
在sun.jvm.hotspot.utilities.IntervalTree中有一个内置实现,但是RBTree超类中的deleteNode方法说明:
/**
* FIXME: this does not work properly yet for augmented red-black
* trees since it doesn't update nodes. Need to figure out exactly
* from which points we need to propagate updates upwards.
*/
尝试从树中删除节点会导致抛出异常:“节点的最大端点未正确更新”。在sun.jvm.hotspot.utilities.IntervalTree子类中正确实现“delete”功能有多难?或者是否已经有另一个Interval Tree实现正确地实现了这个功能?目前,每次进行删除操作时,我只是清空整个树并重新填充,这远非理想(注意:在RBTree中设置DEBUGGING=false可以极大地提高速度)。