विभिन्न डेटा संरचनाओं की कोई भी रैंकिंग कम से कम आंशिक रूप से समस्या संदर्भ से जुड़ी होगी। यह एल्गोरिदम के समय और अंतरिक्ष प्रदर्शन का विश्लेषण करने के तरीके सीखने में मदद करेगा। आमतौर पर, "बड़ा ओ नोटेशन" का उपयोग किया जाता है, उदा। बाइनरी खोज ओ (लॉग एन) समय में है, जिसका अर्थ है कि तत्व की खोज करने का समय तत्वों की संख्या के लॉग (आधार 2 में, अंतर्निहित रूप से) है। सहजता से, चूंकि प्रत्येक चरण शेष डेटा का आधा अप्रासंगिक के रूप में त्याग देता है, इसलिए तत्वों की संख्या को दोगुना करने से समय 1 कदम तक बढ़ जाएगा। (बाइनरी खोज स्केल बल्कि अच्छी तरह से।) अंतरिक्ष प्रदर्शन चिंता करता है कि बड़े डेटा सेट के लिए स्मृति की मात्रा कैसे बढ़ती है। साथ ही, ध्यान दें कि बड़े-ओ नोटेशन निरंतर कारकों को अनदेखा करते हैं - छोटे डेटा सेट के लिए, ओ (एन^2) एल्गोरिदम अभी भी एक ओ (एन * लॉग एन) एल्गोरिदम से तेज हो सकता है जिसमें उच्च स्थिर कारक होता है। जटिल एल्गोरिदम अक्सर स्टार्टअप पर करने के लिए और अधिक काम करते हैं।
समय और स्थान के अलावा, अन्य विशेषताओं में शामिल हैं कि डेटा संरचना को हल किया गया है (पेड़ और स्कीप्लिस्ट सॉर्ट किए गए हैं, हैश टेबल नहीं हैं), दृढ़ता (बाइनरी पेड़ पुराने संस्करणों से पॉइंटर्स का पुन: उपयोग कर सकते हैं, जबकि हैश टेबल को जगह में संशोधित किया जाता है) , आदि
जबकि आपको उनकी तुलना करने में सक्षम होने के लिए कई डेटा संरचनाओं के व्यवहार को सीखने की आवश्यकता होगी, लेकिन एक तरीका विकसित करने के लिए एक तरीका विकसित करने के लिए कि वे प्रदर्शन में भिन्न क्यों हैं, कुछ बारीकी से अध्ययन करना है। मैं सिंगल-लिंक्ड सूचियों, बाइनरी सर्च पेड़, और skip lists की तुलना करने का सुझाव दूंगा, जिनमें से सभी अपेक्षाकृत सरल हैं, लेकिन बहुत अलग विशेषताएं हैं। इस बारे में सोचें कि मूल्य खोजने के लिए कितना काम लगता है, एक नया मान जोड़ें, क्रम में सभी मूल्यों को ढूंढें, आदि
लोग एल्गोरिदम/डेटा संरचना प्रदर्शन का विश्लेषण करने पर विभिन्न ग्रंथ हैं जो लोग अनुशंसा करते हैं, लेकिन वास्तव में उन्हें क्या बनाया गया मुझे समझ में ओकैमल सीख रहा था। जटिल डेटा संरचनाओं से निपटना एमएल का मजबूत सूट है, और उनका व्यवहार बहुत स्पष्ट है जब आप सी में पॉइंटर्स और मेमोरी मैनेजमेंट से बच सकते हैं। (डेटा संरचनाओं को समझने के लिए ओकैमल सीखना लगभग निश्चित रूप से लगभग लंबा रास्ता है। :))
आप इस का उत्तर चिह्नित करने के लिए करना चाहते हैं सवाल? उपयोगकर्ताओं को सबसे लोकप्रिय उत्तर अधिक तेज़ी से ढूंढने में मदद कर सकता है। – MXMLLN