कार्यात्मक प्रोग्रामिंग ने गतिशील पेड़ों पर शोध क्यों नहीं किया है?


19

डायनेमिक ट्री नेटवर्क फ़्लो, डायनेमिक ग्राफ़, कॉम्बीनेटरियल प्रॉब्लम्स ("डायनेमिक ट्रीज़ इन प्रैक्टिस" टारजन और वर्नेक) और हाल ही में डिक्शनरी डिक्शनरी ("अ सिंपल मर्किम डिक्शनरी" एडम कार्मार्ज़्ज़ द्वारा) को हल करने में महत्वपूर्ण भूमिका निभाते हैं।

डायनेमिक ट्रीज़ से मैं 1983 में स्लेटोर एंड टार्जन के पेपर "डायनेमिक ट्रीज़ के लिए एक डेटा स्ट्रक्चर" में बताई गई परिभाषा का उल्लेख करता हूं। कुछ कार्य कार्यात्मक प्रोग्रामिंग रिसर्च क्षेत्र के भीतर से प्रकाशित हुए हैं।

  1. एडवर्ड केमट ने एसटी पेड़ों के एक संस्करण को ज्यादातर सी ++ समकक्ष के अनुवाद के रूप में लागू किया, लिंक-कट पेड़ों को देखें
  2. क्रिस ओकासाकी ने अपनी प्रसिद्ध पुस्तक "विशुद्ध रूप से कार्यात्मक डेटा संरचनाओं" में सेले पेड़ों का सीमित कार्यान्वयन लिखा।
  3. राल्फ हिंज़ और रॉस पैटर्सन ने एक कार्यात्मक डेटा संरचना पेश की, जिसे 2-3 उंगली के पेड़ कहा जाता है, लेकिन गतिशील पेड़ों की मूल परिभाषा से कुछ अलग उद्देश्य के साथ।

गतिशील पेड़ों के कार्यान्वयन (और शायद प्रदर्शन) को तीन दृष्टिकोणों के अनुसार विभाजित किया गया है:

  1. रैखिककरण, जहां ईटी पेड़ (यूलर टूर) एक महान भूमिका निभाते हैं। विशुद्ध रूप से कार्यात्मक अध्ययन नहीं मिला।
  2. पथ-अपघटन, जहां एसटी पेड़ प्रमुख हैं, बस केमेट का संस्करण मिला।
  3. ट्री संकुचन, जहां शीर्ष पेड़, टोपोलॉजी पेड़ और आरसी पेड़ खिलाड़ी हैं। विशुद्ध रूप से कार्यात्मक अध्ययन नहीं मिला।

विशुद्ध रूप से कार्यात्मक विश्लेषण और कार्यान्वयन Splay, AVL, लाल-काले पेड़ पर पाया जा सकता है, लेकिन वे गतिशील पेड़ नहीं हैं। पूर्व को छाया माना जाता है (जिसे आभासी या सहायक भी कहा जाता है) उत्तरार्द्ध की डेटा संरचना।

तो, मेरा सवाल है:

कार्यात्मक प्रोग्रामिंग अनुसंधान समुदाय के गतिशील पेड़ डेटा संरचना में भाग नहीं लेने के कारण (कमियां, कमजोरियां) क्या हैं?


14
मुझे समझ में नहीं आता कि आधिकारिक राय बनाने के लिए एक आधिकारिक कार्यात्मक प्रोग्रामिंग समुदाय समिति के गठन के बिना इसका उत्तर कैसे दिया जा सकता है। क्या हम इस प्रश्न का सुधार नहीं कर सकते हैं ताकि कुछ ऐसा हो जिसका उत्तर यहां दिया जा सके? जहां तक ​​मैं बता सकता हूं, ओपी को बस जाना चाहिए और हास्केल या जो कुछ भी है उसमें अपने गतिशील पेड़ों को लागू करना चाहिए और फिर यहां रिपोर्ट करने के लिए वापस आना चाहिए कि यह सब के बाद किया गया है।
बाउर

@AndrejBauer को अपडेट: ओपी चला गया और हास्केल में उनके गतिशील पेड़ लागू किया गया है: arxiv.org/abs/1908.11105
jbapple

जवाबों:


-1

"कंप्यूटर विज्ञान में, कार्यात्मक प्रोग्रामिंग एक प्रोग्रामिंग प्रतिमान है। कंप्यूटर प्रोग्राम की संरचना और तत्वों के निर्माण की एक शैली जो गणना को गणितीय कार्यों के मूल्यांकन के रूप में मानती है और बदलती स्थिति और परिवर्तनशील डेटा से बचाती है।" - विकिपीडिया

"बदलते राज्य और परिवर्तनशील डेटा" दूसरे शब्दों में "गतिशील"।

तो आपका प्रश्न थोड़ा सा पूछना है कि बाएं सही क्यों नहीं है।


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