मैं 'के बारे में सी # पढ़ रहा था एस ImmutableSortedDictionary
में System.Collections.Immutable
कैसे मेरे कार्यक्रम में इसे लागू करने के बारे में सोच और। मुझे C ++ का बहुत पसंद है lower_bound
और upper_bound
( यहाँ देखें ), और मैं रेंज लुकअप के लिए कुछ देखने की अपेक्षा कर रहा था। हालांकि, इसी तरह के तरीके प्रलेखन से अजीब तरह से अनुपस्थित प्रतीत होते हैं । क्या मैं कुछ भूल रहा हूँ? या क्या एमएस वास्तव में सॉर्ट की गई श्रेणियों तक कुशल पहुंच के बिना एक सॉर्ट किया गया शब्दकोश प्रदान करता है? यह बिल्कुल ऐसा नहीं लगता है कि कोई व्यक्ति IEnumerable
कुंजियों पर कर सकता है जैसा कि एक विस्तार विधि कहती है, इसलिए मैं थोड़ा हैरान हूं कि मैं संग्रह द्वारा सीधे प्रदान की गई कुछ चीज़ नहीं देख रहा हूं।
ImmutableList<T>
वर्ग भी एक AVL पेड़ के रूप में कार्यान्वित किया जाता है। से स्रोत कोड :/// The root node of the AVL tree that stores this set.
ImmutableList<T>
एवीएल पेड़ द्वारा समर्थित) ImmutableArray<T>
(एक सरणी द्वारा समर्थित ) से अधिक के फायदे यहां दिए गए हैं । अपरिवर्तनीय सूची का उपयोग करने के कारण: 1) डेटा को अपडेट करना आम है या तत्वों की संख्या छोटी होने की उम्मीद नहीं है। 2) सामग्री को अपडेट करने की तुलना में संग्रह को अपडेट करना अधिक प्रदर्शन महत्वपूर्ण है।
IBinarySearchTree<K,V>
यह लागू होता है कि मैं क्या उम्मीद करता हूं। मुझे आश्चर्य होता है कि क्या उसने कभी इस पर और तंज कसा?