Implementação do IntervalTree DeleteNode Java
Eu preciso de umIntervalTree ou implementação RangeTree em Java, e estou tendo problemas para encontrar um com suporte para exclusão de trabalho.
Há um built-in emsun.jvm.hotspot.utilities.IntervalTree, mas odeleteNode método nos estados da superclasse RBTree:
/**
* 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.
*/
Tentar excluir nós de uma árvore acaba lançando a exceção:
O ponto final máximo do nó não foi atualizado corretamente
Quão difícil seria implementar adequadamentedelete
funcionalidade em uma subclasse do sun.jvm.hotspot.utilities.IntervalTree? Ou existe outra implementação da Árvore Interval que já implementa isso corretamente?
Atualmente estou apenas limpando a árvore e preenchendo-a novamente toda vez que houver uma exclusão, o que está longe de ser ideal (note: configurar DEBUGGING = false no RBTree acelerou as coisas tremendamente).