Coconote
AI notes
AI voice & video notes
Try for free
लिंक्ड लिस्ट डेटा स्ट्रक्चर विश्लेषण
Sep 10, 2024
लिंक्ड लिस्ट - डेटा स्ट्रक्चर पर लेक्चर
विषय का परिचय
लिंक्ड लिस्ट
एक डेटा स्ट्रक्चर है जिसे आज के लेक्चर में समझा जाएगा।
पिछले लेक्चर में हमने OOPs के बेसिक्स कवर किए थे।
लिंक्ड लिस्ट की इम्प्लीमेंटेशन C++ में देखी जाएगी।
लिंक्ड लिस्ट क्या है?
एक लिनियर डेटा स्ट्रक्चर जिसमें वैल्यू की सूची स्टोर की जाती है।
यह एरेज़ से भिन्न होती है क्योंकि एरेज़ में स्टेटिक साइज़ होता है जबकि लिंक्ड लिस्ट में डायनामिक साइज़।
एरेज़ और लिंक्ड लिस्ट के बीच अंतर
स्टेटिक साइज़
: एरेज़ में स्टैटिक साइज़ होता है जबकि लिंक्ड लिस्ट में डायनामिक साइज़ होता है।
नॉन-कंटिग्युअस मेमोरी
: लिंक्ड लिस्ट के मेमोरी ब्लॉक कंटिग्युअस नहीं होते।
कॉस्टली ऑपरेशन
: एरेज़ में इंसर्शन और डिलीशन कॉस्टली होते हैं, जबकि लिंक्ड लिस्ट में ये आसान होते हैं।
लिंक्ड लिस्ट के लाभ
डायनामिक मेमोरी एलोकेशन के कारण कोई स्टेटिक साइज़ नहीं होता।
नॉन-कंटिग्युअस मेमोरी एलोकेशन की सुविधा।
आसान इंसर्शन और डिलीशन।
कोड में इम्प्लीमेंटेशन
क्लास डिफ़ाइन करना
नोड को एक क्लास के रूप में डिफाइन करते हैं जिसमें:
वैल्यू स्टोर की जाती है।
नेक्स्ट पॉइंटर होता है।
लिंक्ड लिस्ट ऑपरेशन्स
1. हेड में इंसर्शन
कोड
:
नया नोड क्रिएट करना।
न्यू नोड का नेक्स्ट फील्ड हेड की ओर पॉइंट करना।
हेड को न्यू नोड की ओर पॉइंट करना।
2. एन्ड में इंसर्शन
कोड
:
लास्ट नोड तक पहुँचने के लिए ट्रेवल करना।
लास्ट नोड के नेक्स्ट में न्यू नोड को पॉइंट करना।
3. आर्बिट्रेरी पोजीशन पर इंसर्शन
कोड
:
स्पेसिफिक पोजीशन तक ट्रेवल करना।
लिंक चेंज करना ताकि नोड्स सही तरीके से जुड़ें।
4. डिलीशन ऑपरेशन्स
स्टार्ट से डिलीशन
:
हेड को हेड के नेक्स्ट पर मूव करना।
एन्ड से डिलीशन
:
सेकंड लास्ट नोड तक पहुँचना और उसे लास्ट नोड पॉइंट करना।
पोजीशन से डिलीशन
:
स्पेसिफिक पोजीशन तक ट्रेवल करना और लिंक चेंज करना।
विशेष प्रश्न
हर वैकल्पिक एलिमेंट को हटाना
उद्देश्य
: हर वैकल्पिक नोड को डिलीट करना, दूसरे नोड से शुरू करके।
कोड
:
करंट और नेक्स्ट नोड्स को पहचानकर उन्हें हटाना।
डुप्लीकेट एलिमेंट्स हटाना
कोड
:
लिंक्ड लिस्ट को ट्रेवल करना और डुप्लीकेट्स को हटाना।
रिवर्स प्रिंटिंग
रिकर्शन का उपयोग करके लिंक लिस्ट को रिवर्स में प्रिंट करना।
फुल रिवर्सिंग
कोड
:
करंट, प्रीवियस, और नेक्स्ट पॉइंटर्स का उपयोग करके नोड्स की लिंक को रिवर्स करना।
हर के नोड्स को रिवर्स करना
कोड
:
के नोड्स को इट्रेटिव मेथड से रिवर्स करना और फिर रेस्ट को रिकर्शन से।
📄
Full transcript