मैं एक कंटेनर की तलाश में हूं जो encapsulated तत्वों के माध्यम से सबसे तेज़ unordered पुनरावृत्तियों प्रदान करता है। दूसरे शब्दों में, "एक बार जोड़ें, कई बार पुनरावृत्त करें"।सबसे तेज़ पुनरावृत्ति के साथ मानक ओकैमल डेटा संरचना क्या है?
क्या ओकैमल के मानक मॉड्यूल में से एक है जो पर्याप्त तेज़ है (जैसे कि इसका और अधिक अनुकूलन बेकार होगा)? या किसी प्रकार की तीसरी पार्टी जीपीएल तैयार हैं?
AFAIK वहाँ सिर्फ एक OCaml संकलक है, तो किया जा रहा है की अवधारणा तेजी से कम या ज्यादा स्पष्ट है ...
... लेकिन उसके बाद मैं जवाब के एक जोड़े को देखा, ऐसा लगता है, यह नहीं है। बेशक, वहां बहुत सारे डेटा संरचनाएं हैं जो आकार एन के कंटेनर के माध्यम से ओ (एन) पुनरावृत्ति की अनुमति देती हैं। लेकिन जो कार्य मैं हल कर रहा हूं उनमें से एक है, जहां ओ (एन) और ओ (2 एन) मामलों के बीच अंतर ;-)।
मैं यह भी देखता हूं कि Arrays और Lists जोड़े गए तत्वों के क्रम के बारे में अनावश्यक जानकारी प्रदान करते हैं, जिनकी मुझे आवश्यकता नहीं है। हो सकता है कि "कार्यात्मक दुनिया" में डेटा संरचनाएं मौजूद हों, जो इस जानकारी को थोड़ी सी गतिशील गति के लिए व्यापार कर सकती हैं।
सी में मैं एक सादा सरणी चुनता हूं। सवाल यह है कि, मुझे ओकैमल में क्या चुनना चाहिए?
1) पैडेंटिक होने के लिए, ओ (एन) और ओ (2 एन) के बीच कोई अंतर नहीं है। आप निरंतर कारकों के बारे में बात कर रहे हैं। 2) तत्वों के लिए मनमाने ढंग से क्रम चुनना और इसे ठीक करना, जैसा कि किसी सरणी या सूची में है, वैसे ही आप पुनरावृत्ति के लिए अनुकूलित कैसे करते हैं। आप पुनरावृत्ति गति के लिए "सूचकांक में वृद्धि/सूचकांक का पालन करें, स्मृति से प्राप्त करें" पर सुधार करने की अपेक्षा कैसे करते हैं? –
1) हां, मैं निरंतर कारकों के बारे में बात कर रहा हूं, क्योंकि मैं बाधा को अनुकूलित कर रहा हूं; 2) मुझे नहीं पता कि इसे कैसे सुधारें, लेकिन क्या यह * ऐरे और सूची मॉड्यूल का तरीका है? लगातार स्मृति पर कब्जा करने के लिए ऐरे * नहीं कहा गया है (जबकि यह * * * ज्ञात * हो सकता है)। सूची सूचक सूचकांक की आवश्यकता है (धीमी?)। मैं अभी भी संदेह में हूँ। –
@ पावेल: क्रिस क्या कह रहा है कि आप बिग ओ नोटेशन का दुरुपयोग कर रहे हैं। वह यह नहीं कह रहा है कि आपको लगातार कारकों की परवाह नहीं करनी चाहिए, केवल तभी जब आप उन्हें संदर्भित करते हुए अपने गणितीय नोटेशन में अधिक स्पष्ट होना चाहिए। – bcat