डेटा संरचना (Data Structure): कंप्यूटर मेमोरी में डेटा तत्वों का एक विशेष तार्किक या गणितीय संगठन है जो डेटा पर विभिन्न संक्रियाओं (जैसे खोज, प्रविष्टि, विलोपन) को अत्यंत दक्ष बनाता है। Abstract Data Type (ADT) वह गणितीय मॉडल है जो यह परिभाषित करता है कि डेटा पर कौन से कार्य किए जा सकते हैं, बिना यह बताए कि मेमोरी में उनका कार्यान्वयन कैसे होगा।
डेटा संरचनाओं का वर्गीकरण निम्नलिखित आधारों पर किया जाता है:
- आदिम (Primitive) बनाम गैर-आदिम (Non-Primitive): प्रिमिटिव प्रकार (जैसे
int,float,char) सीधे प्रोसेसर निर्देशों द्वारा संचालित होते हैं। गैर-प्रिमिटिव डेटा संरचनाएं प्रिमिटिव प्रकारों के संयोजन से निर्मित मिश्रित संरचनाएं हैं (जैसे ऐरे, स्टैक, क्यू, लिंक्ड लिस्ट)। - रैखिक (Linear) बनाम गैर-रैखिक (Non-Linear): रैखिक संरचनाओं में तत्व एक क्रमिक अनुक्रम में व्यवस्थित होते हैं जहाँ प्रत्येक तत्व का एक निश्चित पूर्ववर्ती (predecessor) और उत्तरवर्ती (successor) होता है। गैर-रैखिक संरचनाओं में तत्व बहु-स्तरीय पदानुक्रम या नेटवर्क में जुड़े होते हैं (जैसे ट्री एवं ग्राफ)।
- स्थैतिक (Static) बनाम गतिशील (Dynamic): स्थैतिक संरचना में कंपाइल समय पर निश्चित आकार की मेमोरी आवंटित होती है (जैसे फिक्स्ड ऐरे); गतिशील संरचना में रन-टाइम के दौरान आवश्यकतानुसार हीप मेमोरी आवंटित व मुक्त की जाती है (जैसे लिंक्ड लिस्ट)।
किसी भी डेटा संरचना पर छह मूलभूत संक्रियाएं निष्पादित की जा सकती हैं:
- ट्रैवर्सल (Traversal): संरचना के प्रत्येक तत्व को क्रमबद्ध रूप से ठीक एक बार देखना और संसाधित करना।
- प्रविष्टि (Insertion): संरचना में एक नए डेटा तत्व को निर्दिष्ट स्थान पर जोड़ना।
- विलोपन (Deletion): संरचना से किसी अवांछित तत्व को हटाना तथा मेमोरी को मुक्त करना।
- खोज (Searching): किसी दी गई 'की' (Key) का स्थान या मेमोरी पता ज्ञात करना।
- सॉर्टिंग (Sorting): तत्वों को आरोही (Ascending) अथवा अवरोही (Descending) क्रम में व्यवस्थित करना।
- मर्जिंग (Merging): दो पृथक व्यवस्थित संरचनाओं के तत्वों को एक संयुक्त व्यवस्थित संरचना में मिलाना।
| संरचना का प्रकार | तत्वों का संगठन | मेमोरी आवंटन | ट्रैवर्सल जटिलता | प्रमुख उदाहरण |
|---|---|---|---|---|
| रैखिक संरचनाएं | एकल-स्तरीय क्रमिक संबंध (पूर्ववर्ती एवं उत्तरवर्ती) | क्रमागत (ऐरे) अथवा पॉइंटर्स द्वारा जुड़ी मेमोरी | $O(n)$ एकल-पास पुनरावृत्ति | 1D/2D ऐरे, स्टैक, क्यू, लिंक्ड लिस्ट |
| गैर-रैखिक संरचनाएं | पदानुक्रमित बहु-स्तरीय या जालिका संबंध | हीप मेमोरी में पॉइंटर-आधारित संबंध | रिकर्सिव ट्रैवर्सल (Pre/In/Post-order) | बाइनरी ट्री, बाइनरी सर्च ट्री (BST), ग्राफ |