Data Structures in Hindi : Linked List

Linked List

  • Introduction to linked list in Hindi
  • Array vs linked list in Hindi
  • Types of linked list in Hindi

Introduction to Linked List

एक linked list linear (sequential) data structure होती है। जब आप कोई list बनाते है तो उसमे एक के बाद एक item लिखते जाते है। उसी प्रकार linked list में भी एक data item के बाद दूसरा item add किया जाता है।

Linked list को आप किसी train की तरह समझ सकते है। एक train की सभी bogies आपस में connected होती है। आप एक bogie से दूसरी bogie में जा सकते है। उसी प्रकार एक linked list के सभी data items आपस connected होते है।

Linked-list-in-Hindi
Linked list में add किया गया हर item उससे next item के address को hold करता है और memory में point करता है की next item कँहा पर stored है। इससे अलग अलग locations पर data items stored होने पर भी linked list ऐसे behave करती है जैसे सभी data items एक बाद एक contagious memory locations में store किये गए हो।

Linked-list-representation-in-Hindi

जिस प्रकार एक train की शुरआत में engine और अंत में guard bogie होती है। उसी प्रकार एक linked list की शुरआत में start pointer (first node) और अंत में NULL pointer होता है।

C language में programmatically linked list को एक structure द्वारा represent किया जाता है। Structure को आप कोई भी नाम दे सकते है जैसे की node या data आदि। Structure के अंदर दो variables create किये जाते है।

पहला variable data को hold करता है। दूसरा variable define किये जा रहे structure का ही pointer variable होता है। Pointer variable को next या link जैसे नाम दिए जाते है। यह variable next node या data item के address को store करता है।

struct Node
{
    int Data;   //Will hold data
    struct Node *Next;  //Will hold address of next node
};

Structure का ही pointer variable इसलिए create किया जाता है क्योंकि वह next node का address store करता है और next node भी उसी structure type का variable होती है।

Array vs Linked List 

सामन्यतः linked list array की ही तरह प्रतीत होती है। लेकिन कुछ ऐसी असमानताएँ है जो इन दोनों को अलग बनाती है। आइये इन असमानताओं के बारे में जानने का प्रयास करते है। 

  • एक linked list की size array की तरह fix नहीं होती है। जब आप array create करते है तो साथ ही उसकी size भी define करते है। आप define की गयी size से अधिक elements array में add नहीं कर सकते है। लेकिन linked list की size fix नहीं होती है और आप कितने भी element linked list में add कर सकते है। 
  • एक linked list में data dynamically store किया जा सकता है। लेकिन array में यह कर पाना असम्भव है। 
  • एक linked list में आप pointers को re arrange करके data items को आसानी से insert और delete कर सकते है। लेकिन array में insertion और deletion perform करने के लिए data items के बहुत अधिक movement की आवश्यकता होती है। 
  • एक linked की size को dynamically grow और shrink किया जा सकता है। Array के साथ ऐसा कर पाना संभव नहीं है।  
  • एक linked list array से अधिक memory का प्रयोग करती है। इसका कारण यह है की linked list में data items के साथ next pointers भी attached होते है। 
  • एक array के elements को index number द्वारा randomly access किया जा सकता है। लेकिन linked list के elements को आप randomly access नहीं कर सकते है। 
  • एक linked list के elements को traverse करने में array से अधिक समय लगता है। इसका कारण extra next pointer होता है। 
  • Linked list data structure में binary searching नहीं perform किया जा सकता है। 
  • एक array के सभी elements continuous memory locations में store किये जाते है। लेकिन linked list के elements अलग अलग memory locations पर stored हो सकते है। Linked list द्वारा memory का सही utilization किया जाता है। 

Types of Linked List

Linked list तीन प्रकार की होती है। इनके बारे में निचे बताया जा रहा है। 

Singly Linked List 

एक singly linked list सबसे सरल और सामान्य linked list होती है। Singly linked list का हर item उससे अगले item का address store करता है। इस तरह की linked list में सिर्फ एक ही address store किया जाता है। यह भी एक कारण है की इसे singly linked list कहा जाता है। 

Doubly Linked list

एक doubly linked list singly linked list की तरह ही होती है। लेकिन doubly linked list में next pointer के अलावा previous pointer भी होता है। Next pointer जँहा अगले element का address store करता है वँही previous pointer previous element का address store करता है। 

Doubly linked list में reverse traversal किया जाना संभव होता है। 

Circular Linked List 

Circular linked list singly linked list ही होती है। लेकिन इस तरह की linked list में आखिर element NULL की बजाय first element का address store करता है। इस प्रकार circular linked list एक loop या cycle की तरह होती है।

Operations with Linked List 

एक Linked list के साथ निचे दिए जा रहे operations perform किये जा सकते है। 
  • Creating a linked list 
  • Traversing or Displaying a linked list
  • Counting nodes of linked list 
  • Inserting a linked list
  • Deleting a linked list
  • Searching a linked list
सभी तरह की linked list के साथ ऊपर दिए जा रहे operations perform किये जा सकते है। 

      DMCA.com Protection Status

 Leave a comment