Java에서 IntervalTree 또는 RangeTree 구현이 필요하며 삭제 작업이 지원되는 것으로 찾는 데 문제가 있습니다.IntervalTree DeleteNode Java 구현
가가의 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
기능을 올바르게 구현 하시겠습니까? 아니면 이미 올바르게 구현 한 다른 인터벌 트리 구현이 있습니까?
현재 삭제가 발생할 때마다 트리를 닦아서 다시 채우는 것이 이상적입니다 (참고 : RBTree의 DEBUGGING = false 설정은 엄청나게 빨라졌습니다).
감사합니다. Yishai. docs http://olduvai.sourceforge.net/tj/tj-javadoc-public/TreeJuxtaposer/RangeTree.html을보고 있는데 범위에 대한 노드 목록을 얻는 방법이 없거나 트리가 한 번 생성되었습니다. 또한 GUI 프로젝트에서 의존성 누수가있는 것처럼 보입니다. 제 생각에 이것은 범용 RangeTree가 아니라 프로젝트의 요구에 매우 구체적입니다. 이 구현을 사용 했습니까? –
@Sam, 아니요. 사용하지 않았습니다. 그것은 제가 찾을 수있는 대안이었습니다. 오픈 소스이기 때문에, sun 구현을 서브 클래스 화하는 것보다 시작하기에 더 좋은 기반을 제공 할 수 있습니다. – Yishai