2012-01-07 23 views
6

क्या .NET पुस्तकालयों में एवीएल ट्री में बनाया गया है?.NET बिल्ट-इन एवीएल-ट्री?

मैंने खोज की लेकिन मुझे कोई भी नहीं मिला।

  • यदि वहां है, तो कहां? क्या नामस्थान?
  • यदि नहीं, तो सी # में एवीएल पेड़ के लिए कोई अच्छा कार्यान्वयन है?
  • यदि भी नहीं! तो क्या यह करने के लिए एक आसान तरीका है? मुझे पता है कि यह कैसे काम करता है और पहले मूल सी ++ में बनाया गया है, लेकिन अब मेरे पास कोई समय नहीं है और अगर मैंने इसे स्वयं किया तो खराब प्रदर्शन से डरता हूं।
+1

आप क्या हासिल करने की कोशिश कर रहे हैं? शायद संग्रहित प्रकार में एक निर्मित प्रकार है जो आपकी आवश्यकताओं के अनुरूप होगा। – Oded

+0

मुझे एक संतुलित पदानुक्रम की आवश्यकता है, एक सामान्य बाइनरी पेड़ उपयुक्त नहीं है क्योंकि यह संतुलित नहीं है, किसी भी सुझाव का स्वागत किया जाएगा :) –

+0

आप यह नहीं समझा रहे हैं कि आप अपनी डेटा संरचना के साथ _do_ पर जा रहे हैं, बस एक डेटा _for_ संरचना। उच्च स्तर की आवश्यकताओं को देना अधिक सहायक है। – Oded

उत्तर

8

आप System.Collections.Generic.SortedSet<T> का उपयोग कर सकते हैं। मुझे लगता है कि इसे एक लाल-काले पेड़ का उपयोग करके लागू किया गया है जो very similar एवीएल पेड़ पर है।

3

एक त्वरित खोज को कार्यान्वयन here मिला। कोड साफ दिखता है, लेकिन मैंने कोशिश नहीं की है।

यदि कुछ और नहीं है, तो आप SortedSet<T> (जैसा कि @ जोसेफ द्वारा सुझाया गया है) के खिलाफ एक त्वरित प्रदर्शन परीक्षण कर सकते हैं यह देखने के लिए कि आपके उपयोग के मामले में कोई अंतर है या नहीं।