लिंक्ड लिस्ट के 3 प्रकार बच्चों को आसान तरीके से समझाए गए

This post is also available in: English

लिंक्ड लिस्ट डेटा संग्रहीत करने के लिए कंप्यूटर प्रोग्राम में उपयोग की जाने वाली डेटा स्ट्रक्चर्स के प्रकार हैं। यह लेख इन 3 प्रकार की लिंक्ड लिस्ट के बारे में है जो बच्चों को आसान तरीके से समझाता है।

बिंदुओ को जोड़ें

हो सकता है कि आपने “बिंदुओं को जोड़ें” जैसी गतिविधियां अपने बचपन के दिनों में देखी होंगी। ऐसी गतिविधियों में, आप बिंदु 1 से शुरू होकर, 2 और फिर 3 और इस प्रकार अंतिम बिंदु को जोड़ते हुए एक आकृति बनाते हैं।

बच्चों को आसान तरीके से बताई गई लिंक्ड लिस्ट के प्रकार
बिंदुओ को जोड़ें

इस तरह की गतिविधियों में, आप अगले बिंदु के साथ एक बिंदु को जोड़ते हैं क्योंकि आप अगले बिंदु की संख्या जानते हैं। लिंक्ड लिस्ट में ऐसा ही होता है।

एक लिंक्ड लिस्ट एक प्रकार का डेटा स्ट्रकचर है जिसमें कई नोड्स होते हैं और प्रत्येक नोड अगले नोड का पता “जानता है”।

लिंक्ड लिस्ट क्या है?

लिंक्ड लिस्ट एक प्रकार का डेटा स्ट्रक्चर है जहां सूचना/डेटा का एक सेट संदर्भों (रेफेरेंस) द्वारा एक साथ जुड़ा हुआ है। यहाँ डेटा को अक्सर नोड्स कहा जाता है। संदर्भों को अक्सर लिंक या पॉइंटर्स कहा जाता है।

लिंक्ड लिस्ट में, कोई भी ऑपरेशन नोड्स में मौजूद डेटा (उनके डेटा प्रकार के आधार पर) पर किया जा सकता है। जबकि, पॉइंटर्स की केवल तुलना और वृद्धि या कमी की जा सकती है। आप पॉइंटर्स पर कोई अन्य ऑपरेशन नहीं कर सकते। (चूंकि पॉइंटर्स डेटा के एड्रेस हैं और सामान्य चर (वेरिएबल) नहीं हैं)।

बच्चों को आसान तरीके से बताई गई लिंक्ड लिस्ट के प्रकार
लिंक्ड लिस्ट

उपरोक्त आकृति में, 4 नोड हैं। पहले नोड (2 युक्त) में इसकी ओर पॉइंट करने वाला कोई नोड नहीं है। ऐसे नोड को शीर्ष (हेड) नोड कहा जाता है। 2 युक्त नोड 4 वाले नोड के एड्रेस को संग्रहीत करता है, 4 वाले नोड में 6 वाले नोड का एड्रेस संग्रहीत होता है, और इसी तरह। युक्त नोड अगले नोड के एड्रेस को संग्रहीत नहीं करता है (इसके बजाय यह NULL मान संग्रहीत करता है)। ऐसे नोड को टेल नोड के रूप में जाना जाता है।

लिंक्ड लिस्ट के ऍप्लिकेशन्स

लिंक्ड लिस्ट के कुछ अनुप्रयोग हैं:

  • छवियों को एक दूसरे के साथ जोड़ा जाता है ताकि एक इमेज व्यूअर सॉफ्टवेयर पिछले और अगले बटन का उपयोग करके पिछली और अगली छवियों को देखने के लिए एक लिंक्ड लिस्ट का उपयोग करता है।
  • वेब पेजों को पिछले और अगले URL लिंक का उपयोग करके एक्सेस किया जा सकता है जो लिंक्ड लिस्ट का उपयोग करके लिंक किए गए होते हैं।
  • म्यूजिक प्लेयर्स संगीत के बीच स्विच करने के लिए लिंक्ड लिस्ट का भी उपयोग करते हैं।
  • मल्टी-प्लेयर गेम में प्लेयर की बारी का ट्रैक रखने के लिए, एक सर्कुलर लिंक्ड लिस्ट का उपयोग किया जाता है।

लिंक्ड लिस्ट के प्रकार

लिंक्ड लिस्ट के तीन मूल प्रकार हैं:

1. सिंपल लिंक्ड लिस्ट

आपने ऊपर जिस प्रकार की लिंक्ड लिस्ट देखी है, उसे सिंपल लिंक्ड लिस्ट कहते हैं। एक सिंपल लिंक्ड लिस्ट में, प्रत्येक नोड में अंतिम नोड को छोड़कर अगले नोड का डेटा और पता होता है जिसमें केवल डेटा होता है (अंतिम नोड के एड्रेस भाग में एक NULL मान होता है)।

एक सिंपल लिंक्ड लिस्ट के मामले में, ट्रेवेर्सल केवल एक दिशा में है, अर्थात, हेड से टेल तक होता है।

C++ में सिंपल लिंक्ड लिस्ट की संरचना

चूंकि एक सिंपल लिंक्ड लिस्ट के प्रत्येक नोड में दो मान होते हैं – डेटा (किसी भी डेटा प्रकार का हो सकता है) और अगले नोड (पॉइंटर डेटा प्रकार) का एड्रेस होता है, इसलिए, निम्न कोड का उपयोग एक सिंपल लिंक्ड लिस्ट के नोड बनाने के लिए किया जाता है:

struct Node {
   int data;
   struct Node *next;
};

2. डबली लिंक्ड लिस्ट

एक डबली-लिंक्ड लिस्ट में, प्रत्येक नोड में तीन उप-इकाइयां होती हैं

  • पिछले नोड का एड्रेस (पॉइंटर डेटा टाइप)
  • डेटा (कोई भी डेटा प्रकार)
  • अगले नोड का एड्रेस (पॉइंटर डेटा)

हेड नोड के पिछले नोड भाग के एड्रेस में एक NULL मान होता है (यह दर्शाता है कि इससे पहले कोई नोड नहीं है) और टेल नोड के अगले नोड भाग के एड्रेस में एक NULL मान होता है (यह दर्शाता है कि इसके बाद कोई नोड नहीं है)।

डबली-लिंक्ड लिस्ट के मामले में, ट्रैवर्सल दोनों दिशाओं में होता है, अर्थात हेड से टेल तक और टेल से हेड तक।

बच्चों को आसान तरीके से बताई गई लिंक्ड लिस्ट के प्रकार
डबली लिंक्ड लिस्ट

उपरोक्त आकृति में, 4 नोड हैं। प्रत्येक नोड में तीन उप-इकाइयां होती हैं – पिछला (प्रीवियस), डेटा और अगला (नेक्स्ट)। पहले नोड (A युक्त) में कोई नोड नहीं है जो इसे इंगित करता है। ऐसे नोड को शीर्ष (हेड) नोड कहा जाता है। हेड नोड का पिछला भाग एक NULL मान संग्रहीत करता है (इससे पहले कोई नोड नहीं है)। हेड नोड के अगले भाग में अगले नोड (डेटा B युक्त) का एड्रेस होता है। इसी प्रकार, नोड B के पिछले भाग में नोड A (पिछला नोड) का एड्रेस होता है और इसके अगले भाग में नोड सी (अगला नोड) का एड्रेस होता है। आखिरी नोड जिसे टेल नोड कहा जाता है (जिसमें D है) के अगले भाग का मान NULL होता है।

C++ में डबली लिंक्ड लिस्ट की संरचना

चूंकि एक डबल-लिंक्ड सूची के प्रत्येक नोड में तीन मान होते हैं – पिछले नोड का एड्रेस (पॉइंटर डेटा प्रकार), डेटा (किसी भी डेटा प्रकार का हो सकता है), और अगले नोड का एड्रेस (पॉइंटर डेटा प्रकार), इसलिए, निम्नलिखित कोड का उपयोग डबली-लिंक्ड लिस्ट के नोड बनाने को लिए किया जाता है:

struct Node {
   int data;
   struct Node *prev;
   struct Node *next;
};

3. सर्कुलर लिंक्ड लिस्ट

एक सर्कुलर लिंक्ड लिस्ट में, अंतिम तत्व पहले तत्व से जुड़ा हुआ है और पहले तत्व में पिछले तत्व का लिंक होता है।

एक सर्कुलर लिंक्ड लिस्ट को या तो एक सिंपल लिंक्ड लिस्ट या डबली-लिंक्ड लिस्ट का उपयोग करके लागू किया जा सकता है।

बच्चों को आसान तरीके से बताई गई लिंक्ड लिस्ट के प्रकार
सर्कुलर लिंक्ड लिस्ट (सिंपल लिंक्ड लिस्ट का उपयोग करके)
बच्चों को आसान तरीके से बताई गई लिंक्ड लिस्ट के प्रकार
सर्कुलर लिंक्ड लिस्ट (डबली लिंक्ड लिस्ट का उपयोग करके)

लिंक्ड लिस्ट द्वारा समर्थित मूल ऑपरेशन्स

एक लिस्ट द्वारा समर्थित मूल ऑपरेशन्स निम्नलिखित हैं।

  • सम्मिलन (इंसर्शन) – लिस्ट के दिए गए स्थान पर एक तत्व जोड़ता है।
  • हटाना (डिलीशन) – सूची के दिए गए स्थान पर एक तत्व को हटाता है।
  • प्रदर्शन (डिस्प्ले) – पूरी लिस्ट प्रदर्शित करता है।
  • ढूंढना (सर्च) − दी गई कुंजी (की) का उपयोग करके किसी तत्व की खोज करता है।

Leave a Comment