What is Singly doubly and circular linked list explain type linked list in hindi
Data को systematic way मे store करने के methods को डाटा स्ट्रक्चर कहते है| Linked list एक लीनियर डाटा structure होता है जिसमे की डाटा को एक sequence मे access किया जा सकता है| लिंक्ड लिस्ट्स को सबसे सिंपल एंड सबसे ज्यादा use होने वाला डाटा स्ट्रक्चर माना जाता है| इसकी help से दूसरे कई common abstract data types जैसे lists, stacks, queues, associative arrays, इम्प्लीमेंट किये जा सकते है |
जैसे की नाम से पता चल रहा है लिंक्ड लिस्ट, यह एक ऐसी लिस्ट होती जिसमे की डाटा एलिमेंट स्टोर होते है एवं सभी डाटा एलिमेंट्स links की हेल्प से आपस मे connected होते है| लिंक्ड लिस्ट मे जहाँ डाटा एलिमेंट्स स्टोर होते है उसको नोड्स कहते है एवं इन नोड्स मे डाटा element को एक sequence मे रखा जाता है| हर एक नोड के दो fields होते है – data field and reference field | डाटा फील्ड मे डाटा स्टोर होता है एवं reference फील्ड मे sequence की नेक्स्ट नोड का address होता है जो की नेक्स्ट नोड को पॉइंट करता है| लिंक्ड लिस्ट मे हर एक नोड को एलिमेंट भी कहा जाता है और reference field जो की नेक्स्ट नोड को पॉइंट करता है उसको नेक्स्ट पॉइंटर or नेक्स्ट लिंक भी कहते है| ऐरे के बाद यह दूसरी सबसे ज्यादा काम मे आने वाला डाटा structure है |

लिंक्ड लिस्ट क्या होती है
लिंक्ड लिस्ट की लास्ट नोड मे null का reference होता है| List मे एंट्री पॉइंट लिस्ट का head कहलाता है| Head एक सेपरेट नोड नहीं होता है लेकिन फर्स्ट नोड का reference होता है| अगर लिस्ट खाली होती है तो Head मे null reference होता है| लिंक्ड लिस्ट डाटा structure मे एलिमेंट्स को किसी भी पोजीशन पर efficiently इन्सर्ट or रिमूव करने के लिए design किया गया है लेकिन दूसरे operation जैसे लास्ट एलिमेंट निकालने के लिए या फिर एक एलिमेंट को लिस्ट मे सर्च करना हो तो लिस्ट मे सभी elements को एक एक करके check और स्कैन करना पड़ता है जो की इसकी efficiency को कम करता है एंड टाइम consuming टास्क भी है|
Important points –
- लिंक्ड लिस्ट मे एक लिंक एलिमेंट होता है जिसको First कहते है।
- हर लिंक एक डाटा फील्ड एवं लिंक फील्ड रखता है जिसको की Next कहते है।
- हर लिंक इसके next link से लिंक्ड होता है जिसको next Link कहलाता है।
- लास्ट लिंक के लिंक मे NULL वैल्यू होती है जो कि एन्ड ऑफ़ लिस्ट को बताती है।
Read Also – What is Stack (LIFO)
अब यहाँ पर एक सवाल है की हमारे पास जब array है तो हम Linked list क्यों use करेंगे – Arrays, simile type के liner data को store करने के लिए काम आता है लेकिन उसकी limitation भी है जैसे Array का size हमेशा fixed होता है इसलिए हमको डाटा स्टोर करने से पहले उसकी upper limit पता होनी चाहिए क्योकि बाद मे इसकी limit को increase नहीं किया जा सकता| इसके साथ साथ ज़्यदातर लेटेस्ट allocated memory का size upper limit के बराबर होता है|
Read Also – What is Programming language
Click here to read Differences between C and C++ Programming Languages
Types of Linked List –
-
Singly Linked List − इसमें Item केवल आगे की तरफ (forward) मूव करता है |
Singly Linked List
-
Doubly Linked List − इसमें आइटम आगे and पीछे (forward and backward) दोनों तरफ move कर सकता है |
doubly Linked List
-
Circular Linked List − इस linked लिस्ट मे लास्ट आइटम, सबसे पहले वाले एलिमेंट का लिंक स्टोर करता है (as next) एवं सबसे पहले वाला element सबसे लास्ट वाले एलिमेंट का लिंक स्टोर रखता है (as previous)|
Circular Linked List
Basic Operations of Linked list – Linked list निचे दिए गए basic operations परफॉर्म कर सकता है –
- Insertion − List के starting मे एलिमेंट को Add करना |
- Deletion − List के starting मे से एलिमेंट को delete करना |
- Display − Complete लिस्ट को display करना|
- Search − दी गयी Key को use करते हुए एक element को Search करना|
- Delete − दी गयी key के base पर element को remove करना|
Advantages of Linked List –
- लिंक्ड लिस्ट्स dynamic डाटा स्ट्रक्चर होता है जिसको की run time मे जरुरत अनुसार छोटा या बड़ा किया जा सकता है | इसका मतलब जब प्रोग्राम run होता है तो प्रोग्राम की जरुरत अनुसार लिस्ट की memory को allocating and de-allocating memory कर सकते है|
- इसमें इंसर्शन एंड deletion नोड operations बहुत आसानी से परफॉर्म किये जा सकते है|
- Linked list को use करते हुए Dynamic data structures जैसे stacks and queues को भी इम्प्लीमेंट किया जा सकता है|
- इसमें initial size define करने की जरूरत नहीं होती|
- List के बिच मे से Items को add व् remove किया जा सकता है|
- Two way linked लिस्ट मे Backtracking (trace) पॉसिबल होती है|
- इसमें एलिमेंट access टाइम कम लगता है|
Disadvantages of Linked List –
- ऐरे की तुलना मे यह ज्यादा मेमोरी लेता है क्योकि इसमें pointers को भी store करने रखना होता है|
- linked list की nodes को एक specific order मे access करना होता है क्योकि यह inherently sequential access होता है |
- Reverse Traversing is difficult in linked list|
Read Also – What is Array in Hindi
Read Also – What is Data Structure
Read Also – What is Queue