BCA / B.Tech 9 min read

Linked List in Hindi

Linked List in Data Structure in Hindi | डाटा स्ट्रक्चर में लिंक्ड लिस्ट हिंदी में  :

 
लिंक्ड लिस्ट डेटा स्ट्रक्चर का एक महत्वपूर्ण प्रकार है जो डेटा तत्वों को एक क्रमबद्ध श्रृंखला में संग्रहीत करने के लिए उपयोग किया जाता है। यह एक डायनेमिक डेटा स्ट्रक्चर है, जिसमें डेटा को स्टोर करने का तरीका बहुत लचीला होता है। लिंक्ड लिस्ट में प्रत्येक तत्व, जिसे नोड (Node) कहा जाता है, दो भागों में विभाजित होता है: पहला भाग डेटा को संग्रहीत करता है, और दूसरा भाग अगले नोड के पते (या रेफरेंस) को संग्रहीत करता है।

लिंक्ड लिस्ट क्या है? (What is Linked List?)

  • लिंक्ड लिस्ट एक लीनियर डेटा स्ट्रक्चर है जिसमें तत्वों को किसी एक के बाद एक क्रमबद्ध तरीके से रखा जाता है। इसमें प्रत्येक नोड अगले नोड का पता (address) रखता है, जिससे पूरी लिस्ट एक श्रृंखला के रूप में जुड़ी रहती है। 
  • यह अन्य डेटा स्ट्रक्चर जैसे कि Array (ऐरे) से अलग है, जिसमें तत्व एक निश्चित क्रम में स्टोर होते हैं और आकार स्थिर होता है। लिंक्ड लिस्ट में डायनामिक मेमोरी आवंटन का उपयोग किया जाता है, जिससे लिस्ट का आकार आसानी से बढ़ाया या घटाया जा सकता है।
Types of Linked List in Data Structure in Hindi | डाटा स्ट्रक्चर में  लिंक्ड लिस्ट के प्रकार  : 

लिंक्ड लिस्ट कई प्रकार की होती हैं, जिनका उपयोग आवश्यकतानुसार विभिन्न स्थितियों में किया जाता है:

1. सिंगल लिंक्ड लिस्ट (Singly Linked List):

  • यह सबसे सरल प्रकार की लिंक्ड लिस्ट होती है, जिसमें प्रत्येक नोड केवल अगले नोड का पता रखता है।
  • इसका मुख्य भाग हेड (Head) होता है, जो लिस्ट के पहले नोड का पता रखता है। आखिरी नोड का अगला पता NULL होता है, जो लिस्ट के अंत को दर्शाता है।

2. डबल लिंक्ड लिस्ट (Doubly Linked List):

  • इसमें प्रत्येक नोड दो पते रखता है: एक अगले नोड का और दूसरा पिछले नोड का।
  • इससे लिस्ट में डेटा को दोनों दिशाओं में नेविगेट करना संभव हो जाता है।
  • इसका मुख्य लाभ यह है कि हम किसी भी नोड से पिछले नोड तक भी जा सकते हैं।

3. सर्कुलर लिंक्ड लिस्ट (Circular Linked List):

  • इसमें आखिरी नोड का अगला पता पहले नोड की ओर इशारा करता है, जिससे लिस्ट सर्कुलर हो जाती है।
  • इसका उपयोग तब किया जाता है जब लिस्ट को लगातार चक्रवात (circular) तरीके से नेविगेट करना होता है।

4. सर्कुलर डबल लिंक्ड लिस्ट (Circular Doubly Linked List):

  • यह डबल लिंक्ड लिस्ट का सर्कुलर संस्करण है, जिसमें आखिरी नोड अगले नोड के रूप में पहले नोड की ओर और पहले नोड के पिछले नोड के रूप में आखिरी नोड की ओर इशारा करता है।

लिंक्ड लिस्ट की संरचना (Structure of Linked List)

लिंक्ड लिस्ट में प्रत्येक नोड में दो भाग होते हैं:

  • डेटा (Data): इसमें उस नोड से संबंधित जानकारी होती है।
  • पॉइंटर (Pointer): इसमें अगले नोड का पता (address) होता है।
  • उदाहरण के लिए, एक सिंगल लिंक्ड लिस्ट में प्रत्येक नोड इस प्रकार दिख सकता है:

[ Data | Next ]

यह प्रक्रिया लिस्ट को एक श्रृंखला के रूप में जोड़ती है। जैसे-जैसे आप हेड से शुरू करते हैं, आप प्रत्येक नोड के पॉइंटर की मदद से अगले नोड तक पहुंचते हैं, जब तक कि आप NULL तक नहीं पहुंच जाते।

Operations on Linked List in Data Structure in Hindi |  लिंक्ड लिस्ट में संचालन : 

लिंक्ड लिस्ट पर कई प्रकार की क्रियाएं की जा सकती हैं, जिनमें से कुछ प्रमुख निम्नलिखित हैं:

1. नोड को जोड़ना (Insertion of Node):

  • लिस्ट की शुरुआत में जोड़ना: इसमें एक नया नोड बनाकर उसे लिस्ट के हेड के रूप में सेट किया जाता है।
  • लिस्ट के अंत में जोड़ना: इसमें लिस्ट के अंत में जाकर नया नोड जोड़ना होता है, और आखिरी नोड के पॉइंटर को नए नोड की ओर सेट किया जाता है।
  • बीच में जोड़ना: इसमें किसी विशेष स्थान पर नोड को जोड़ने के लिए पॉइंटर को समायोजित करना होता है।
2. नोड को हटाना (Deletion of Node):

  • लिस्ट की शुरुआत से हटाना: इसमें पहले नोड को हटा दिया जाता है और हेड को अगले नोड पर सेट किया जाता है।
  • लिस्ट के अंत से हटाना: इसमें आखिरी नोड को हटा दिया जाता है और उससे पहले के नोड के पॉइंटर को NULL पर सेट किया जाता है।
  • बीच से नोड हटाना: इसमें किसी विशेष नोड को हटाने के लिए उसके पिछले नोड के पॉइंटर को अगले नोड की ओर सेट किया जाता है।
3. लिस्ट को खोजना (Searching in List):

  • लिंक्ड लिस्ट में खोजने की प्रक्रिया हेड से शुरू होकर तब तक चलती है जब तक कि आपको वांछित नोड नहीं मिल जाता या लिस्ट का अंत नहीं हो जाता।
4. प्रिंटिंग (Printing the List):

  • लिस्ट के सभी नोड्स को प्रिंट करना भी एक सामान्य प्रक्रिया होती है, जिसमें हेड से शुरू करके प्रत्येक नोड का डेटा प्रिंट किया जाता है।
Advantages of Linked List in Data Structure in Hindi | लिंक्ड लिस्ट के लाभ :

  • डायनामिक साइजिंग: लिंक्ड लिस्ट का आकार प्रोग्राम के रनटाइम के दौरान बढ़ाया या घटाया जा सकता है, जो इसे अधिक लचीला बनाता है।
  • मेमोरी का कुशल उपयोग: लिंक्ड लिस्ट में मेमोरी का उपयोग डायनामिक रूप से होता है, जिससे केवल आवश्यकतानुसार मेमोरी आवंटित की जाती है।
  • इंसर्शन और डिलीशन में आसानी: लिंक्ड लिस्ट में नोड्स को जोड़ना और हटाना अपेक्षाकृत आसान होता है, क्योंकि इसमें पूरे डेटा को शिफ्ट करने की आवश्यकता नहीं होती।
Disadvantages of Linked List in Data Structure in Hindi | लिंक्ड लिस्ट के नुकसान :

  • मेमोरी ओवरहेड: लिंक्ड लिस्ट में प्रत्येक नोड के साथ एक अतिरिक्त पॉइंटर स्टोर करना पड़ता है, जिससे अधिक मेमोरी की आवश्यकता होती है।
  • धीमा एक्सेस टाइम: लिंक्ड लिस्ट में डेटा को सीधे एक्सेस नहीं किया जा सकता, बल्कि हर नोड तक पहुंचने के लिए लिस्ट के हेड से शुरू करके क्रम से नेविगेट करना पड़ता है।
  • डिफ़िकल्ट रिवर्सल: लिंक्ड लिस्ट को उल्टा करना (reverse करना) कठिन हो सकता है, खासकर सिंगल लिंक्ड लिस्ट में।