जवाब, हमेशा की तरह, " यह निर्भर करता है "। मैं उन टैग से मान लेता हूं जो आप C # के बारे में बता रहे हैं।
आपका सबसे अच्छा शर्त यह निर्धारित करना है
- डेटा का एक सेट
- उपयोग आवश्यकताओं
और कुछ परीक्षण मामलों को लिखें।
यह इस बात पर भी निर्भर करता है कि आप सूची को कैसे छांटते हैं (यदि यह क्रमबद्ध है), तो किस प्रकार की तुलना करने की आवश्यकता है, सूची में किसी विशेष वस्तु के लिए "तुलना" ऑपरेशन कितना समय लगता है, या यहां तक कि आप कैसे उपयोग करने का इरादा रखते हैं। संग्रह।
आम तौर पर, चुनने के लिए सबसे अच्छा एक डेटा आपके द्वारा काम कर रहे आकार के आधार पर इतना अधिक नहीं होता है, बल्कि आप इसे कैसे एक्सेस करना चाहते हैं। क्या आपके पास किसी विशेष स्ट्रिंग, या अन्य डेटा से संबंधित डेटा का प्रत्येक टुकड़ा है? एक हैश आधारित संग्रह शायद सबसे अच्छा होगा। क्या आपके द्वारा संग्रहीत डेटा महत्वपूर्ण है, या क्या आप एक ही समय में सभी डेटा तक पहुँचने की आवश्यकता है? एक नियमित सूची तब बेहतर हो सकती है।
अतिरिक्त:
बेशक, मेरी उपरोक्त टिप्पणियां 'प्रदर्शन' मानती हैं, जिसका अर्थ है डेटा एक्सेस। विचार करने के लिए कुछ और: जब आप "प्रदर्शन" कहते हैं, तो आप क्या देख रहे हैं? क्या प्रदर्शन व्यक्तिगत मूल्य है? क्या यह बड़े (10000, 100000 या अधिक) मूल्य सेटों का प्रबंधन है? क्या यह डेटा के साथ डेटा संरचना को भरने का प्रदर्शन है? डेटा निकाल रहा है? डेटा के व्यक्तिगत बिट्स तक पहुँचना? मूल्यों की जगह? मूल्यों पर फेरबदल? स्मृति उपयोग? डेटा कॉपी करने की गति? उदाहरण के लिए, यदि आप स्ट्रिंग मान द्वारा डेटा एक्सेस करते हैं, लेकिन आपकी मुख्य प्रदर्शन आवश्यकता न्यूनतम मेमोरी उपयोग है, तो आपके पास परस्पर विरोधी डिज़ाइन समस्याएँ हो सकती हैं।