• Home
  • /
  • Blog
  • /
  • बच्चों के लिए 7 मूल डेटा स्ट्रक्चर्स

बच्चों के लिए 7 मूल डेटा स्ट्रक्चर्स

बच्चों के लिए बुनियादी डेटा स्ट्रक्चर्स

This post is also available in: English (English) العربية (Arabic)

लगभग सभी कंप्यूटर प्रोग्राम एक या किसी अन्य डेटा स्ट्रक्चर का उपयोग करते हैं। विभिन्न प्रकार के डेटा स्ट्रक्चर्स हैं जो विभिन्न प्रकार के ऍप्लिकेशन्स के अनुरूप हैं। यहां हम बुनियादी डेटा स्ट्रक्चर्स पर चर्चा करेंगे जो कि बच्चों की कोडिंग में सहायक होंगी।

डेटा स्ट्रक्चर से क्या अभिप्राय है?

कंप्यूटर विज्ञान में, डेटा स्ट्रक्चर कंप्यूटर में डेटा को व्यवस्थित करने का एक तरीका है ताकि इसे कुशलता से उपयोग किया जा सके। कुशलता से, हमारा मतलब है कि निष्पादन (एक्सेक्यूशन) के समय और मेमोरी के संदर्भ में, कम संसाधनों के रूप में उपयोग किए जाने वाले कंप्यूटर संचालन से।

डेटा स्ट्रक्चर एक ठोस और भौतिक सेटिंग में अमूर्त डेटा प्रकारों का कार्यान्वयन होता है। एल्गोरिदम का उपयोग करके ऐसा किया जाता हैं।

डेटा स्ट्रक्चर्स के प्रकार

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

डेटा स्ट्रक्चर्स को मोटे तौर पर लीनियर या नॉन-लीनियर डेटा स्ट्रक्चर्स के रूप में वर्गीकृत किया जाता है।

  • लीनियर डेटा स्ट्रक्चर में क्रमिक रूप से (सेक्वेंशिअल) व्यवस्थित डेटा तत्व होते हैं और प्रत्येक सदस्य तत्व इसके पिछले और अगले तत्व से जुड़ा होता है। ट्रैवर्सल, इस मामले में, अनुक्रमिक है, जिसका अर्थ है कि यदि कोई 100 वें तत्व का दौरा करना चाहता है, तो उसे पिछले 99 तत्वों से गुजरना होगा। ऐसे डेटा स्ट्रक्चर्स लागू करना आसान है क्योंकि कंप्यूटर मेमोरी भी अनुक्रमिक होती है। लीनियर डेटा स्ट्रक्चर्स के उदाहरण हैं ऐरे, लिंक्ड लिस्ट, स्टैक, क्यू।
  • नॉन-लीनियर डेटा स्ट्रक्चर में इसके सभी तत्वों के कनेक्शन का कोई ठोस अनुक्रम नहीं होता और प्रत्येक तत्व से अन्य तत्वों के लिए कई पथ हो सकते हैं। इस प्रकार के डाटा स्ट्रक्चर में एक तत्व से दूसरे तत्व तक, कई तरीकों से जाया सकता है। ऐसे डेटा स्ट्रक्चर लागू करना आसान नहीं होता, लेकिन इससे कंप्यूटर मेमोरी का उपयोग अधिक एफ्फिसिएंट होता है। नॉन-लीनियर डेटा संरचनाओं के उदाहरण ट्री, ग्राफ़, हैश टेबल हैं।

आइए विभिन्न डेटा स्ट्रक्चर्स को समझते हैं।

1. ऐरे

ऐरे डेटा स्ट्रक्चर्स का सबसे सरल प्रकार है। यह एक लीनियर डेटा प्रकार है। एक ऐरे समान डेटा प्रकार (same data type) (इन्टिजर, फ्लोट, स्ट्रिंग, आदि) के कई मान स्टोर कर सकता है। एक ऐरे का आकार सामान्यतः पहले से निश्चित होता है। प्रारंभ में ऐरे का आकार परिभाषित होने के बाद, उसका आकार बढ़ाना संभव नहीं होता है।

एक ऐरे में कई तत्व होते हैं, जिनमें से प्रत्येक को ऐरे के सूचकांक या एक कुंजी (इंडेक्स) द्वारा पहचाना जाता है। आप किसी इंडेक्स के साथ किसी भी प्रकार के अंकगणितीय ऑपरेशन कर सकते हैं।

आइए उदाहरण के लिए 10 आकार के पूर्णांकों की एक ऐरे को समझने का प्रयत्न करते हैं। तत्वों के संगठन की कल्पना इस प्रकार की जा सकती है:

25130-161438-65429738
ऐरे

यदि हम इस ऐरे को ‘a’ से सम्बोधित करते हैं, तो मान 14 को a[5] के रूप में एक्सेस किया जा सकता है, जहां 5 को ऐरे सूचकांक या कुंजी कहा जाता है।

कई प्रोग्रामिंग भाषाओं में, पहली स्थिति को इंडेक्स 0 के रूप में संदर्भित किया जाता है। ऐसी स्थिति में, मूल्य 14 को a[4] के रूप में देखा जा सकता है।

ऐरे सबसे पुराने और सबसे महत्वपूर्ण डेटा स्ट्रक्चर्स में से एकहैं और लगभग हर प्रोग्राम में इसका उपयोग किया जाता है। उनका उपयोग कई अन्य डेटा स्ट्रक्चर्स को लागू करने के लिए भी किया जा सकता है, जैसे कि लिंक्ड लिस्ट।

Some of the applications of an array are:

  • एक साधारण प्रश्न-पत्र को एक ऐरे के रूप में इम्प्लीमेंट किया जा सकता है जिसमे प्रश्न ऐरे के एलिमेंट होंगे।
  • 2 डी ऐरे (दो-आयामी ऐरे), जिसे आमतौर पर मैट्रिक्स के रूप में जाना जाता है, का उपयोग छवि प्रसंस्करण (इमेज प्रोसेसिंग) में किया जाता है।
  • यह स्पीच प्रोसेसिंग में भी उपयोग किया जाता है, जिसमें प्रत्येक स्पीच सिग्नल एक ऐरे होता है।

2. लिंक्ड लिस्ट

लिंक्ड लिस्ट संदर्भों (रिफरेन्स) द्वारा एक साथ जुड़ी जानकारी / डेटा का एक समूह है। यहाँ डेटा को अक्सर नोड्स कहा जाता है। संदर्भों को अक्सर लिंक या पॉइंटर्स कहा जाता है।

नोड्स किसी भी प्रकार के डेटा (पूर्णांक, फ्लोट, स्ट्रिंग) को संग्रहीत कर सकते हैं। सरणियों में पॉइंटर्स के विपरीत, लिंक्ड लिस्ट में पॉइंटर्स को केवल बढ़ाया या घटाया जा सकता है (जोड़ और घटाव)।

बच्चों के लिए बुनियादी डेटा स्ट्रक्चर्स
लिंक्ड लिस्ट

लिंक्ड लिस्ट के कुछ अनुप्रयोग हैं:

  • छवियों को एक दूसरे के साथ जोड़ा जाता है ताकि एक इमेज व्यूअर सॉफ्टवेयर पिछले और अगले बटन का उपयोग करके पिछली और अगली छवियों को देखने के लिए एक लिंक्ड लिस्ट का उपयोग करता है।
  • वेब पेजों को पिछले और अगले URL लिंक का उपयोग करके एक्सेस किया जा सकता है जो लिंक्ड लिस्ट का उपयोग करके लिंक किए गए होते हैं।
  • म्यूजिक प्लेयर्स संगीत के बीच स्विच करने के लिए लिंक्ड लिस्ट का भी उपयोग करते हैं।
  • मल्टी-प्लेयर गेम में प्लेयर की बारी का ट्रैक रखने के लिए, एक सर्कुलर लिंक्ड लिस्ट का उपयोग किया जाता है।

3. स्टैक

स्टैक भी एक लीनियर डेटा स्ट्रक्चर है जो वास्तविक भौतिक स्टैक या ढेर द्वारा दर्शाया गया है। स्टैक के मामले में, वस्तुओं का सम्मिलन (इंसर्शन) और विलोपन (डिलीशन) एक सिरे पर होता है जिसे स्टैक का शीर्ष (टॉप) कहा जाता है।

स्टैक की मूल अवधारणा को आप किताबों के ढेर के रूप में कल्पना कर सकते हैं, जहां आप ढेर के शीर्ष से ही एक बार में केवल एक पुस्तक को हटा सकते हैं। इसके अलावा, आप केवल शीर्ष पर ही एक नई पुस्तक रख सकते हैं। इस प्रकार की डेटा एक्सेसिंग को “लास्ट इन फर्स्ट आउट” कहा जाता है। यही कारण है कि स्टैक को लीफो लिस्ट भी कहा जाता है।

बच्चों के लिए बुनियादी डेटा स्ट्रक्चर्स
पुस्तकों के ढेर

स्टैक पर तीन ऑपरेशन किए जा सकते हैं:

  • स्टैक में किसी आइटम को सम्मिलित करना (“पुश करना”)।
  • स्टैक से एक आइटम (“पॉप करना”) हटाना।
  • स्टैक के शीर्ष आइटम (“पीकिंग”) को प्रदर्शित करना।

स्टैक के कुछ अनुप्रयोग हैं:

  • इन्फिक्स को पोस्टफ़िक्स एक्सप्रेशंस में बदलना।
  • पूर्ववत (अनडू) और पुन: संचालन (रीडू) स्टैक के माध्यम से किया जाता है।
  • भाषाओं में सिंटैक्स का उपयोग स्टैक्स का उपयोग करके किया जाता है।
  • स्टैक का उपयोग कई आभासी मशीनों (वर्चुअल मशीन) जैसे जे वी एम (जावा वर्चुअल मशीन) में किया जाता है।

4. क्यू

क्यू एक लीनियर डेटा स्ट्रक्चर है, जिसमें तत्वों को “टेल” नामक एक छोर से डाला जाता है और मौजूदा तत्वों को “हेड” नामक दूसरे छोर से हटा दिया जाता है। इस प्रकार के तत्वों को डालने और हटाने की प्रक्रिया को “फर्स्ट इन फर्स्ट आउट” कहा जाता है और इसलिए क्यू एक फीफो स्ट्रक्चर है जिसमें पहले डाले गए तत्व को पहले निकाल लिया जाता है। क्यू का एक बहुत ही सामान्य उदाहरण बैंक काउंटरों, बुकिंग काउंटरों आदि पर प्रतीक्षा कर रहे लोगों की कतारें हैं। कतार में वह व्यक्ति जो पहले जाता है, उसे पहले सेवा दी जाती है जबकि अंत में आने वाले व्यक्ति को अंत में सेवा दी जाती है।

बच्चों के लिए बुनियादी डेटा स्ट्रक्चर्स
लोगों की कतार

तत्व को एक क्यू में जोड़ने की प्रक्रिया को “एन्क्यूइंग” कहा जाता है और क्यू से एक तत्व को हटाने की प्रक्रिया को “डीक्यूइंग” कहा जाता है।

लिंक्ड लिस्ट के कुछ अनुप्रयोग हैं:

  • ऑपरेटिंग सिस्टम शेडूलिंग के लिए क्यू का उपयोग करता है।
  • नेटवर्क कंजेस्शन को व्यवस्थित करने के लिए क्यू का उपयोग किया जाता है।
  • संचार में डेटा पैकेट क्यू प्रारूप में व्यवस्थित होते हैं।

5. ग्राफ़

ग्राफ एक लीनियर डेटा स्ट्रक्चर है, जहां एक नोड से दूसरे तक कई अलग-अलग तरीकों से ट्रैवर्स किया जा सकता है।

ग्राफ़ डेटा स्ट्रक्चर में कुछ नोड्स और वर्टेक्स के आर्डर पेअर का एक निश्चित सेट होता है। As in mathematics, an edge (x,y) is said to point or go from x to y, e.g. edge (side) of a triangle joining its two vertices.

The nodes may be part of the graph structure or may be external entities represented by integer indices or references. A graph data structure may also associate to each edge some edge value, such as a symbolic label or a numeric attribute.

बच्चों के लिए बुनियादी डेटा स्ट्रक्चर्स
Graph

ग्राफ के कुछ अनुप्रयोग हैं:

  • Facebook’s Graph API uses the structure of Graphs.
  • Google’s Knowledge Graph also uses the concept of Graphs.
  • The Dijkstra algorithm (shortest path algorithm) uses a graph structure to find the shortest path between the nodes.
  • जी पी एस (ग्लोबल पोजिशनिंग सिस्टम) नेविगेशन सिस्टम भी ग्राफ़ का उपयोग करता है।

6. ट्री

ट्री सबसे शक्तिशाली और उन्नत डेटा स्ट्रक्चर्स में से एक है। इसका उपयोग आर्टिफिशियल इंटेलिजेंस (AI) और डिजाइन में किया जाता है। ट्री एक नॉन-लीनियर पदानुक्रमित डेटा संरचना है जिसमें किनारों में नोड्स जुड़े होते हैं।

In a tree unlike linear data structures, one can traverse from one node to another in many different ways. एक ट्री में नोड्स होते हैं (जिनमें डेटा होता है) और एजजेज़ नोड्स को जोड़ता है।

बच्चों के लिए बुनियादी डेटा स्ट्रक्चर्स
Tree

एक ट्री पर किसी भी ऑपरेशन को करने के लिए, आपको विशिष्ट नोड तक पहुंचने की आवश्यकता होती है। सबसे ऊपरी नोड (जिसे रूट भी कहा जाता है) से नोड तक पहुंचने की प्रक्रिया को ट्री ट्रैवर्सल कहा जाता है।

ट्री ट्रेवेर्सल तीन प्रकार के होते हैं:

  • इनआर्डर: सबसे पहले बाएं नोड या बाएं सबट्री का दौरा किया जाता है, फिर रूट, और अंत में दाएं नोड या दाएं सबट्री का दौरा किया जाता है।
  • प्रीआर्डर: सबसे पहले रूट का दौरा किया जाता है, फिर बायीं नोड या बाएं सबट्री का, और अंत में दायीं नोड या दाएं सबट्री का दौरा किया जाता है।
  • पोस्टऑर्डर: सबसे पहले बायीं नोड या बाएं सबट्री का दौरा किया जाता है, फिर दायीं नोड या दाएं सबट्री, और अंत में रूट का दौरा किया जाता है।

ट्री के कुछ अनुप्रयोग निम्नलिखित हैं:

  • XML Parser uses tree algorithms.
  • मशीन लर्निंग में एक निर्णय-आधारित (डिसिशन बेस्ड) एल्गोरिथ्म का उपयोग किया जाता है जो ट्री एल्गोरिथ्म पर काम करता है।
  • डेटाबेस भी अनुक्रमण के लिए ट्री डेटा स्ट्रक्चर्स का उपयोग करते हैं।
  • डोमेन नेम सर्वर (डी एन एस) भी ट्री स्ट्रक्चर्स का उपयोग करते हैं।

7. हैश टेबल

हैश टेबल एक ऐरे होता है जहां एक लिंक की गई सूची के प्रत्येक सूचकांक हैश मूल्य पर आधारित होते हैं। हैश मान एक हैश फ़ंक्शन द्वारा निर्धारित किया जाता है। हैश फ़ंक्शन उस डेटा के आधार पर एक अद्वितीय मान (यूनिक वैल्यू) निर्धारित करता है जिसे वह संग्रहीत कर रहा है। यह प्रत्येक बार डेटा खोजने में एक ही समय लगाता है क्योंकि कंप्यूटर हमेशा जानता है कि डेटा को कहां देखना है।

बच्चों के लिए बुनियादी डेटा स्ट्रक्चर्स
Hash Table

Some of the applications of the hash table are:

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

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>