सरणी और लिंक्ड सूचियों के बीच अंतर

सरणी और लिंक्ड सूचियों के बीच अंतर
सरणी और लिंक्ड सूचियों के बीच अंतर

वीडियो: सरणी और लिंक्ड सूचियों के बीच अंतर

वीडियो: सरणी और लिंक्ड सूचियों के बीच अंतर
वीडियो: Haseena Malik और Karishma Singh के बीच कौन जीतेगा कुश्ती? | Maddam Sir | Daughter's Right 2024, नवंबर
Anonim

सरणी बनाम लिंक्ड सूचियां

एरे तत्वों के संग्रह को संग्रहीत करने के लिए सबसे अधिक उपयोग की जाने वाली डेटा संरचना है। अधिकांश प्रोग्रामिंग भाषाएं सरणियों को आसानी से घोषित करने और सरणियों में तत्वों तक पहुंचने के तरीके प्रदान करती हैं। लिंक्ड सूची, अधिक सटीक रूप से एकल-लिंक्ड सूची, एक डेटा संरचना भी है जिसका उपयोग तत्वों के संग्रह को संग्रहीत करने के लिए किया जा सकता है। यह नोड्स के अनुक्रम से बना होता है और प्रत्येक नोड में अनुक्रम में अगले नोड का संदर्भ होता है।

आकृति 1 में दिखाया गया कोड का एक टुकड़ा है जो आम तौर पर किसी सरणी को मान घोषित करने और असाइन करने के लिए उपयोग किया जाता है। चित्र 2 दर्शाता है कि स्मृति में एक सरणी कैसी दिखाई देगी।

छवि
छवि
छवि
छवि

उपरोक्त कोड एक सरणी को परिभाषित करता है जो 5 पूर्णांकों को संग्रहीत कर सकता है और उन्हें 0 से 4 सूचकांकों का उपयोग करके एक्सेस किया जाता है। एक सरणी की एक महत्वपूर्ण संपत्ति यह है कि संपूर्ण सरणी को मेमोरी के एकल ब्लॉक के रूप में आवंटित किया जाता है और प्रत्येक तत्व को अपना स्थान मिलता है सरणी में। एक बार एक सरणी परिभाषित हो जाने के बाद, इसका आकार तय हो जाता है। इसलिए यदि आप संकलन समय पर सरणी के आकार के बारे में निश्चित नहीं हैं, तो आपको सुरक्षित पक्ष में रहने के लिए एक बड़ी पर्याप्त सरणी को परिभाषित करना होगा। लेकिन, अधिकांश समय हम वास्तव में आवंटित तत्वों की तुलना में कम संख्या में उपयोग करने जा रहे हैं। तो स्मृति की काफी मात्रा वास्तव में बर्बाद हो जाती है। दूसरी ओर यदि "काफी बड़ा सरणी" वास्तव में पर्याप्त बड़ा नहीं है, तो प्रोग्राम क्रैश हो जाएगा।

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

डेटा अगला

चित्र 3: एक लिंक्ड सूची का तत्व

छवि
छवि
छवि
छवि

चित्र 4 तीन तत्वों के साथ एक लिंक की गई सूची को दर्शाता है। प्रत्येक तत्व अपने डेटा को संग्रहीत करता है और पिछले एक को छोड़कर सभी तत्व अगले तत्व के संदर्भ को संग्रहीत करता है। अंतिम तत्व अपने अगले क्षेत्र में एक शून्य मान रखता है। सूची में किसी भी तत्व को सिर से शुरू करके और अगले पॉइंटर का अनुसरण करके तब तक पहुँचा जा सकता है जब तक आप आवश्यक तत्व को पूरा नहीं करते।

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

सिफारिश की: