मेरे पास प्राथमिकता क्यूई है जिसमें कुछ ऑब्जेक्ट्स हैं। जब मैं प्रारंभ में प्राथमिकता कतार में तत्वों को सम्मिलित करता हूं तो ऑर्डरिंग डेटा संरचना द्वारा बनाए रखा जाता है। अब एक निष्कासन ऑपरेशन के बाद मैं कुछ संदर्भों को अद्यतन करता हूं जो प्राथमिकता कतार द्वारा आयोजित किए जा रहे हैं। आदर्श रूप से इसे प्राथमिकता कतार पर एक पुनर्मूल्यांकन ऑपरेशन की आवश्यकता होती है, लेकिन जैसा कि स्पष्ट है क्योंकि मैं चयनित संदर्भों को संशोधित कर रहा हूं, बाहरी रूप से एक पुनरावृत्ति को ट्रिगर नहीं किया जा सकता है। तो यह सुनिश्चित करने का सबसे अच्छा तरीका क्या है कि मैं कतार के अंदर मनमानी तत्वों में संशोधन की उपस्थिति में तेजी से निकालने जैसे अधिकतम ढेर का लाभ प्राप्त करने में सक्षम हूं? मुझे लगता है कि मुझे बेहतर डेटा संरचना चाहिए?तत्वों को अद्यतन करने के बाद java.util.PriorityQueue को रीहाइपी करें
अधिक विशिष्ट होने के लिए मुझे जावा में फाइबोनैकी ढेर जैसे कुछ के कार्यान्वयन की आवश्यकता है। http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm क्या यह उपलब्ध है?
यदि आप रुचि रखते हैं तो जावा में एक फाइबोनैकी ढेर का कार्यान्वयन है। यह http://www.keithschwarz.com/interesting/code/?dir=fibonacci-heap पर ऑनलाइन उपलब्ध है। आशा करता हूँ की ये काम करेगा! – templatetypedef
यहां तक कि फाइबोनैकी ढेर तत्वों के वजन में बैंड के बाहर परिवर्तन के चेहरे में लचीला नहीं हैं। मुझे लगता है कि इसे संशोधित करने से पहले आपको तत्व को हटाने की आवश्यकता है और बाद में इसे पुन: सम्मिलित करें। –
ढेर से मनमाना तत्व को हटाने के लिए मुझे लगता है कि ओ (एन) ढेर निर्माण की आवश्यकता होगी। –