2010-08-04 13 views
16

क्या किसी भी भाषा में पूरी तरह कार्यात्मक soft heap डेटा संरचना का कोई कार्यान्वयन है?शुद्ध रूप से कार्यात्मक मुलायम ढेर

+0

मैं कल रात यह का एक सा के माध्यम से मिला, मैंने समय जटिलताओं की पुष्टि नहीं की है, लेकिन वे गलत लॉग (1/ई) लगते हैं जहां ई 0 <ई <1 है। इससे नकारात्मक जटिलता मिल जाएगी। और, वे कुछ परिचालनों के लिए 0 की एक अमूर्त लागत का भी उल्लेख करते हैं। क्या मैं अपनी व्याख्याओं पर उलझन में हूं? मुझे एहसास है कि वे नहीं कहते हैं, ओ (0), लेकिन सिर्फ 0, मुझे लगता है कि यह एक निरंतर है, लेकिन ओ() नोटेशन से स्विच करने के लिए कोई भी नहीं है, यह बहुत बेवकूफ है। – nlucaroni

+0

बढ़िया! लॉग केवल 1 से कम तर्कों के लिए नकारात्मक है लेकिन 1/ε ऐसा नहीं है क्योंकि 0 <ε <1 तो 1 <ε⁻¹ <∞। –

+1

ओह, ज़ाहिर है। हाँ आप सही है। मैं स्पष्ट रूप से (या मुझे नहीं लगता), सोच लॉग (ε) था। तो, जब वह कहता है कि सभी परिचालनों को लागत 0 अमूर्त कर दिया गया है, तो वह निरंतर कारक के बारे में बात कर रहा है? – nlucaroni

उत्तर

20

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

तो मैं नहीं कहूंगा, लगातार नरम ढेर के लिए कोई ज्ञात दृष्टिकोण नहीं है। एक को वर्णित करना एक प्रकाशित परिणाम होगा (यह प्रतिलिपि जोड़ने के लिए उबाल सकता है जहां आप मूल संरचना को बदल देंगे, और साझाकरण अवसरों की पहचान करेंगे)।

+3

@ जोन, यदि आप इस समस्या से निपटने की योजना बना रहे हैं, और आपने अभी तक * कार्यात्मक डेटा संरचनाओं को नहीं पढ़ा है * मुझे सलाह है कि आप ऐसा करते हैं। हालांकि यह नरम ढेर को कवर नहीं करता है, यह आपको कार्यात्मक डेटा संरचना डिजाइन के बुनियादी सिद्धांतों को सिखाएगा जो इस समस्या से निपटने में सहायक होंगे। –

+1

मेरी ओनी सीएफ लाइब्रेरी में ओकासाकी के स्काई-बिनोमियल ढेर का एक पूर्ण रूप से पूर्ण-विशेषीकृत ओकैमल कार्यान्वयन है: http://bitbucket.org/jhw/oni –

0

इस प्रोजेक्ट में जावा कोड है जो स्कैला में अनुवाद करने के लिए बहुत भयानक नहीं हो सकता है ... और फिर इसे और अधिक कार्यात्मक बनाते हैं।

https://github.com/lowasser/SoftSelect

लेकिन जैसा कि पहले उल्लेख किया पूरी तरह कार्यात्मक डेटा सरंचनाएं पुस्तक हास्केल कोड शीतल ढेर को अपनाने के लिए, विशेष रूप से उदाहरण के जावा कोड दिए गए आसान हो सकता है कि नहीं है।

https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf

+0

मैं इस पेपर को एसीएम से भी देख रहा हूं जहां सॉफ़्टहेप्स बाइनरी के साथ बने होते हैं पेड़: http://dl.acm.org/citation.cfm?id=1496823 – RudeDude

1

हैम कापलान, रॉबर्ट ई Tarjan, उरी ज़्विक कागज का वर्णन करता है लेकिन पूरी तरह से पूरी तरह कार्यात्मक संस्करण का विश्लेषण नहीं करता है। यह कम से पाया जा सकता है:

http://phdtree.org/pdf/44150182-soft-heaps-simplified/

संबंधित मुद्दे