ब्रूडल कतार के लिए स्यूडोकोड


12

मैं ब्रोडल हीप के बारे में और अधिक संसाधन खोजने की कोशिश कर रहा हूं । मैंने पाया कि ब्रोडल-ओकासाकी ढेर का एक हैस्केल कार्यान्वयन है , लेकिन मुझे लगता है कि वे तिरछे ढेर हैं , क्या यह सही है? इसके अलावा, मैं हास्केल में अनपढ़ हूं, ताकि ज्यादा मदद न मिले। क्या किसी के पास (या पता है) छद्मकोड, सी, सी ++, पायथन में एक ब्रोडल कतार कार्यान्वयन है?

यदि मेरी धारणाएँ गलत हैं तो कृपया सही भी करें।


3
क्या आप विशेष रूप से ब्रोडल कतार को लागू करना चाहते हैं, या आप एक प्राथमिकता कतार के कुशल कार्यान्वयन की तलाश कर रहे हैं? ब्रोडल ने अपने पेपर के निष्कर्ष में उल्लेख किया कि वे क्षेत्र में कुछ और शोध के बिना व्यावहारिक नहीं हैं। उनके कागज को बड़े पैमाने पर उद्धृत किया गया है, शायद कुछ उपयोगी है? एल्गोरिदम के सीएलआर परिचय में प्राथमिकता कतारों पर एक खंड होता है, लेकिन यह प्राथमिकता वाले कतारों में बहुत पहले के काम का संदर्भ देता है।
जे एलस्टन

2
मूल ब्रोडल कतार विनाशकारी असाइनमेंट का उपयोग करती है, इसलिए हास्केल संस्करण में कुछ संशोधन होने चाहिए।
फ्रेड फू

जवाबों:


2

हास्केल कार्यान्वयन कार्यात्मक ब्रोडल-ओकासाकी ढेर पर आधारित है और आप सही हैं, यह स्केप हीप्स की विविधता है। कागज बहुत स्पष्ट रूप से लिखा गया है, इसलिए यह एक अच्छा संसाधन होगा।

कार्यान्वयन के संबंध में , स्कालाज़ लाइब्रेरी के हिस्से के रूप में स्काला में भी कार्यान्वयन है ।


1

यह एक आंशिक उत्तर है क्योंकि मैंने अभी तक यह नहीं पता लगाया है कि कोड को कैसे कुछ में बदलना है जो हास्केल नहीं है। जहाँ तक मैं उनके लिए हास्केल का उपयोग करने के बारे में बता सकता हूं, वह यह है कि हास्केल आलसी है। ब्रोडल-ओकासाकी हीप को कागज से आलसी अंदाज में उकेरा जाना चाहिए। तो आपको जो आवश्यकता होगी वह किसी अन्य आवश्यकताओं (जैसे विशुद्ध रूप से कार्यात्मक डेटा संरचनाओं) के साथ अन्य भाषा के लिए उस कार्यक्षमता को प्रदान करने का एक तरीका है जो बीओ हीप की आवश्यकता हो सकती है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.