विषय-सूचि
डाटा स्ट्रक्चर क्या है? (data structure meaning/definition in hindi)
एक डाटा स्ट्रक्चर डाटा व्यवस्थित करने और संग्रहीत करने के लिए एक विशेष प्रारूप है। सामान्य डेटा स्ट्रक्चर प्रकारों में ऐरे, फ़ाइल, रिकॉर्ड, टेबल, ट्रीज, आदि शामिल हैं।
किसी भी डाटा स्ट्रक्चर को एक विशिष्ट उद्देश्य के अनुरूप डेटा व्यवस्थित करने के लिए डिज़ाइन किया जाता है ताकि इसे उचित तरीके से एक्सेस किया जा सके और काम किया जा सके।
कंप्यूटर प्रोग्रामिंग में, डाटा स्ट्रक्चर को विभिन्न एल्गोरिदम के साथ काम करने के उद्देश्य के लिए डिज़ाइन किया जाता है।
सरल भाषा में, डाटा स्ट्रक्चर ऑर्डर किए गए डेटा को संग्रहीत करने के लिए प्रोग्राम की गई स्ट्रक्चर होती हैं, ताकि विभिन्न कार्य आसानी से किए जा सकें।
यह मेमोरी मेंमौजूद डाटा को व्यवस्थित डेटा बनाने का काम करता है। इसे इस तरह से डिजाइन और इम्प्लीमेंट किया जाता है कि यह जटिलता को कम करता है और एफ्फिसेंसी को बढ़ाता है।
डाटा स्ट्रक्चर का वर्गीकरण (classification of data structure in hindi)
डाटा स्ट्रक्चर को मुख्या रूप से दो हिस्सों में विभाजित किया जा सकता है।
- बिल्ट इन डाटा
- यूजर डिफाइंड डाटा
हम इसके यूजर डिफाइंड डाटा का वर्गीकरण करेंगे।
ऐरे (array in data structure in hindi)
एक डायमेंशनल ऐरे (one dimensional array)
एक बेसिक डेटा संरचना जो दिन-प्रतिदिन प्रोग्रामिंग का उपयोग करती है उसे ऐरे कहते है।
एक ऐरे डेटा स्टोर करने के लिए एक निश्चित संख्या में कंटेनर रख सकती है और उपयोगकर्ता की जरूरतों के हिसाब से उस डेटा पर कार्य किया जा सकता है।
उपरोक्त चित्र में, ऐरे को उसके नाम के साथ परिभाषित किया गया है और इसमें डेटा प्रकार इन्टिजर है।
बोल्ड में नीचे दी गई संख्या से पता चलता है कि मेमोरी एड्रेस किसी ऐरे के प्रत्येक कंटेनर को असाइन किया गया है।
याद रखने के लिए यहां महत्वपूर्ण बात यह है कि एक ऐरे सूचकांक हमेशा 0 से शुरू होता है और समाप्त होता है (टोटल ऐरे साइज -1)।
तो, आइए मान लें कि आपने लंबाई 5, ऐरे नेम [5] की ऐरे परिभाषित की है, तो इस ऐरे का इंडेक्स ऐरे नाम [0], ऐरे नाम [1], ऐरे नाम [2], ऐरे नाम [3], ऐरे नाम [4] होगा।
मल्टी डायमेंशनल ऐरे (multi dimensional array)
एक मल्टी डायमेंशनल सामान्य सरणी का एक्सटेंशन है, जहां हम कंटेनरों की एक पंक्ति के साथ एक ऐरे परिभाषित करते हैं।
एक मल्टी डायमेंशनल ऐरे के मामले में, हमारे पास पंक्तियों के साथ-साथ कॉलम भी होता हैं। एक इंडेक्स तक पहुंचने के लिएहमें दो नंबरों की आवश्यकता होती है।
उपर्युक्त तस्वीर में, हमने एक ऐरे नाम [4] [4] को 4 पंक्तियों और 4 कॉलम और पंक्ति * कॉलम (4 * 4) इंडेक्स के साथ परिभाषित किया है।
मल्टी डायमेंशनल ऐरे को कभी-कभी उनके स्ट्रक्चर के कारण तालिकाओं या मैट्रिक्स के रूप में भी जाना जाता है।
डयनमिक ऐरे (dynamic array)
अधिकांश प्रोग्रामिंग भाषाएं आपको डायनामिक ऐरे को परिभाषित करने की अनुमति देती हैं, जिसका अर्थ है कि प्रोग्राम एक्सेक्यूशन के दौरान मेमोरी को आवंटित किया जाता है।
मान लीजिये , आपन 10 इंडेक्स वाले ऐरे को परिभाषित करते है, लेकिन आपको इसके लिए केवल 3 इंडेक्स की आवश्यकता है, इस प्रकार शेष 7 इंडेक्स बर्बाद करने के लिए रखे जाते हैं, जिससे अतिरिक्त मेमोरी की खपत होती है।
डयनमिक ऐरे आपको कार्यक्रम की आवश्यकता के अनुसार मेमोरी आवंटित करने का लचीलापन देता है।
डाटा स्ट्रक्चर की सूची (link list in data structure in hindi)
सिंगल लिंक्ड सूची (single linked list in data structure in hindi)
एक लिंक्ड सूची नोड्स का संग्रह है जो लिंक से जुड़े हुए होते हैं। लिंक्ड सूची में नोड होता है जो डेटा आइटम और एड्रेस को अगले नोड में स्टोर करता है।
पहले नोड को आमतौर पर हेड नोड के रूप में जाना जाता है और अंतिम नोड को टेल नोड के रूप में जाना जाता है।
हेड नोड का पॉइंटर अगले नोड को पॉइंट करता है और टेल नोड के पॉइंटर नल को पॉइंट करता है।
डबल लिंक्ड सूची (double linked list in data structure in hindi)
एक डबल लिंक्ड लिस्ट एक सिंगल लिंक्ड लिस्ट से बहुत अलग नहीं है, केवल एक चीज जो उन्हें अलग करती है वह पिछले नोड के पॉइंटर है।
नीचे दी गई तस्वीर आपको एक आईडीआ दे सकती है कि संरचना किस तरह दिखनी चाहिए।
एक डबल लिंक्ड सूची के मामले में, हेड नोड का पिछला पॉइंटर नल को पॉइंट करता है और टेल के अगले पॉइंटर नल को पॉइंट करता है।
पिछला पॉइंटर किसी भी दिशा में पार करना आसान बनाता है। तो, नोड जोड़ने और हटाने में बहुत आसान हो गया है, आपको बस इतना करना है कि पिछले नोड और अगले नोड का ट्रैक रखना है और उसके अनुसार पॉइंटर एडजस्ट करना है।
सर्कुलर लिंक्ड सूची (circular linked list in data structure in hindi)
एक सर्कुलर लिंक्ड सूची एक लिंक्ड सूची है जहां सभी नोड्स एक सर्कल बनाने के लिए जुड़े होते हैं। कोई हेड या टेल नोड नहीं होता है।
इस प्रकार की लिंक्ड सूची रखने का लाभ यह है की किसी भी नोड को शुरुआती बिंदु के रूप में उपयोग किया जा सकता है।
लीनियर सूचि (linear list in data structure in hindi)
स्टैक (stack in data structure in hindi)
आपने शायद हर दिन अपने जीवन में यह शब्द सुना होगा ,चाहे वह किसी डेस्क के ऊपर पर स्थित कार्ड या किताबों के डेक का जिक्र क्यों न हो।
खैर, डेटा स्ट्रक्चर इसी तरह काम करती है जैसे आप वास्तविक दुनिया के स्टैक पर कार्य करेंगे। उदाहरण के लिए, आप केवल स्टैक के शीर्ष से पुस्तकें डाल या निकाल सकते हैं।
स्टैक एक लिफो डेटा स्ट्रक्चर है जिसका अर्थ है लास्ट इन फर्स्ट आउट, आने वाला आखिरी आइटम बाहर जाने वाला पहला है।
एक स्टैक या तो एक ऐरे या एक लिंक्ड सूची का उपयोग कर लागू किया जा सकता है।
किताबों के स्टैक पर विचार करें, आखिरी पुस्तक स्पष्ट रूप से शीर्ष पर रखी जाएगी और यदि आप एक पुस्तक को हटाना चाहते हैं तो आप शीर्ष पर से एक को हटा देंगे।
स्टैक तीन कार्य कर सकते हैं:
- पुश – स्टैक में डेटा इनपुट करने और इसे शीर्ष पर रखने के लिए।
- पॉप – शीर्ष से डेटा को हटाने के लिए।·
- पीक – इसे हटाने के बिना शीर्ष पर डेटा देखने के लिए।
क्यू (Queue in data structure in hindi)
स्टैक की तरह, शब्द क्यू भी दिन-प्रतिदिन की गतिविधियों से लिया गया है। आपने बिलिंग काउंटर पर एक सुपरमार्केट में लोगों की कतार देखी होगी।,। इसी तरह क्यू काम करता है जहां कार्य दोनों सिरों पर किया जाता है।
स्टैक एक फीफो डेटा संरचना है जो फर्स्ट इन फर्स्ट आउट में विस्तारित है। एक क्यू, जैसे स्टैक, या तो ऐरे या लिंक्ड सूची का उपयोग करके लागू किया जा सकता है।
क्यू पर तीन सबसे अधिक प्रदर्शन किए गए ऑपरेशन हैं:
- एनक्यू – डेटा को स्टैक में इनपुट करने के लिए और उन्हें नीचे रखने के लिए।
- डेक्यू – शीर्ष से डेटा को हटाने के लिए।
- पीक – इसे हटाये बिना शीर्ष पर डेटा देखने के लिए।
नॉन लीनियर सूची (non-linear list in data structure in hindi)
ट्रीज (trees in data structure in hindi)
ट्री डेटा स्ट्रक्चर ऊपर की ओर पेड़ जैसा दिखता है, शीर्ष पर हमारे पास रूट नोड होता है जिसे बाएं और दाएं नोड में बांटा जाता है।
उनके बीच संबंध होता है, जो सभी नोड्स को जोड़ते हैं। लिंक की गई सूची के विपरीत जहां नोड को केवल एक नोड से जोड़ा जा सकता है, एक पेड़ में नोड दो या दो से अधिक नोड्स से जोड़ा जा सकता है।
बाइनरी ट्रीज (binary trees in data structure in hindi)
बाइनरी ट्रीज एक विशेष प्रकार के पेड़ होते हैं जहां बाएं नोड हमेशा पैरेंट नोड से छोटे होते हैं और दायां नोड हमेशा पैरेंट नोड से बड़ा होता है।
नोड को जोड़ने / हटाने के लिए, हमें रूट नोड के साथ वैल्यू की तुलना करनी होती है और फिर जोड़ने / हटाने के लिए किसी स्पेसिफिक पॉइंट को पार करना होता है।
अगर आपका इस लेख से सम्बंधित कोई सवाल या सुझाव है तो आप नीचे कमेंट कर सकते हैं।