मुझे जावा में IntervalTree या रेंज ट्री कार्यान्वयन की आवश्यकता है, और मुझे काम हटाने के समर्थन के साथ एक को खोजने में परेशानी हो रही है।इंटरवलट्री डिलीट नोड जावा कार्यान्वयन
वहाँ एक अंतर्निहित 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
कार्यक्षमता को लागू करें। या क्या एक और अंतराल वृक्ष कार्यान्वयन है जो पहले से ही इसे सही ढंग से लागू करता है?
वर्तमान में मैं सिर्फ पेड़ को मिटा रहा हूं और इसे हटाने के हर बार फिर से पॉप्युलेट कर रहा हूं, जो आदर्श से बहुत दूर है (नोट: आरबीटीरी में झूठी चीजों को झुकाव)।
लिंक, यिशई के लिए धन्यवाद। मैं दस्तावेज़ों को देख रहा हूं http://olduvai.sourceforge.net/tj/tj-javadoc-public/TreeJuxtaposer/RangeTree.html और किसी श्रेणी के लिए नोड्स की सूची प्राप्त करने के लिए कोई तरीका नहीं दिखता है, या संशोधित करता है पेड़ एक बार बनाया गया। ऐसा लगता है कि जीयूआई परियोजना पर कुछ निर्भरता रिसाव है जिसका उपयोग वे कर रहे हैं। मेरा अनुमान है कि यह उस परियोजना की जरूरतों के लिए बहुत विशिष्ट है, न कि सामान्य उद्देश्य रेंजट्री। क्या आपने इस कार्यान्वयन का उपयोग किया है? –
@ सैम, नहीं, मैंने इसका उपयोग नहीं किया है। यह सिर्फ वह विकल्प था जिसे मैं पा सकता था। चूंकि यह खुला स्रोत है, इसलिए यह आपको सूर्य कार्यान्वयन के उप-वर्ग के मुकाबले शुरू करने के लिए बेहतर आधार दे सकता है। – Yishai