डाटा स्ट्रक्चर, डाटा को स्टोर और organise करने का एक तरीका है ताकि डाटा को कुशलता से इस्तेमाल किया जा सके।

इस  डाटा स्ट्रक्चर Tutorial में डाटा स्ट्रक्चर के सभी विषय शामिल हैं जैसे कि array, pointer, linked list, stack, queue, graph, searching, sorting, program आदि।

डाटा स्ट्रक्चर्स का इस्तेमाल कंप्यूटर साइंस के लगभग हर पहलू यानी operating system, compiler design, Artificial intelligence,  Graphics, और भी बहुत जगह किया जाता है।

What is Data Structure in Hindi डाटा स्ट्रक्चर्स क्या है?

डाटा स्ट्रक्चर्स, डाटा को memory में organise करने को कहते है। डाटा का यह संगठन डाटा स्ट्रक्चर्स के एक array  की मदद से किया जाता है। मेमोरी में डाटा को organise करने के अन्य तरीके भी हैं। 

आइए विभिन्न प्रकार की डाटा स्ट्रक्चर्स को देखें।

डाटा स्ट्रक्चर्स C, C ++, java, आदि जैसी कोई प्रोग्रामिंग भाषा नहीं है। यह algorithm का एक सेट है जिसे हम memory में डाटा को  structure करने के लिए किसी भी प्रोग्रामिंग भाषा में उपयोग कर सकते हैं। 

Type of data structure in hindi डाटा स्ट्रक्चर्स के प्रकार

डाटा स्ट्रक्चर्स दो प्रकार की होते  हैं:

  • Primitive डाटा स्ट्रक्चर्स
  • Non-primitive डाटा स्ट्रक्चर्स

Primitive डाटा स्ट्रक्चर्स

Primitive  डाटा स्ट्रक्चर्स वो डाटा  प्रकार हैं जिनकी सिर्फ 1 value  हो सकती  हैं। इंट (int), चार (char), फ्लोट (float), डबल (double) और पॉइंटर(pointer)  primitive  डाटा स्ट्रक्चर्स हैं 

Non-primitive  डाटा स्ट्रक्चर्स

Non primitive डाटा स्ट्रक्चर्स में data की 1 से अधिक value हो सकती है। 

Type of non-primitive Data Structure in Hindi  नॉन प्रिमिटिव डाटा स्ट्रक्चर्स के प्रकार

  • Linear  डाटा स्ट्रक्चर्स
  • Non-linear डाटा स्ट्रक्चर्स

Linear Data Structure in Hindi – लीनियर डाटा स्ट्रक्चर्स

क्रमबद्ध तरीके से डाटा की व्यवस्था को Linear  डाटा स्ट्रक्चर्स के रूप में जाना जाता है। इस उद्देश्य के लिए उपयोग की जाने वाली डाटा स्ट्रक्चर्स Arrays, Linked list, Stacks और Queues हैं। इन डाटा स्ट्रक्चर्स में, एक तत्व Linear  रूप में केवल एक दूसरे तत्व से जुड़ा होता है।

Non-linear Data Structure in Hindi – नॉन लीनियर डाटा स्ट्रक्चर्स

जब एक तत्व Non-linear डाटा स्ट्रक्चर्स वाले तत्वों की ‘n’ संख्या से जुड़ा होता है उसे Non-linear डाटा स्ट्रक्चर्स कहते है। सबसे अच्छा उदाहरण Tree और Graph है। इस मामले में, तत्वों को Random तरीके से organise किया जाता है।

हम आने वाले विषयों में संक्षेप में उपरोक्त डाटा स्ट्रक्चर्स पर चर्चा करेंगे। अब, हम उन सामान्य operations को देखेंगे जो हम इन डाटा स्ट्रक्चर्स पर कर सकते हैं।

Operations on Data Structure in hindi 

डाटा स्ट्रक्चर्स पर किए जाने वाले प्रमुख या सामान्य ऑपरेशन निम्न हैं:

  • Searching: हम डाटा स्ट्रक्चर्स में किसी भी तत्व की खोज कर सकते हैं।
  • Sorting: हम डाटा स्ट्रक्चर्स के तत्वों को ascending या descending क्रम में सॉर्ट कर सकते हैं।
  • Insertion: हम नए तत्व को डाटा स्ट्रक्चर्स में भी सम्मिलित कर सकते हैं।
  • Updation: हम तत्व को भी अपडेट कर सकते हैं, अर्थात, हम तत्व को दूसरे तत्व से बदल सकते हैं।
  • Deletion: हम डाटा स्ट्रक्चर्स से तत्व को हटाने के लिए डिलीट ऑपरेशन भी कर सकते हैं।

Advantages of Data structure in Hindi डाटा स्ट्रक्चर्स के लाभ

डाटा स्ट्रक्चर्स के निम्नलिखित फायदे हैं:

Efficiency: 

यदि किसी विशेष ADT(abstract data type) को लागू करने के लिए उचित डाटा स्ट्रक्चर्स का चुनाव हो , तो यह program  को time और space के मामले में बहुत efficient  बनाता है।

Reusability: 

डाटा स्ट्रक्चर्स reusabilty  प्रदान करता हैं, जिसका अर्थ है कि कई और  program भी  डाटा स्ट्रक्चर्स का उपयोग कर सकते हैं।

Abstraction: 

एक ADT(abstract data type) द्वारा specified  डाटा स्ट्रक्चर्स abstraction का स्तर प्रदान करता है। Client  डाटा स्ट्रक्चर्स के internal working को नहीं देख सकता है, इसलिए इसके implementation part के बारे में चिंता करने की आवश्यकता नहीं है। Client केवल interface देख सकता है।

Data Structure Classification in Hindi

Linear Data structure in Hindi: 

यदि किसी element को उसके सभी linear order में arrange किया जाता है, तो डाटा स्ट्रक्चर्स को Linear कहा जाता है। Linear डाटा elements में, तत्वों को non-hierarchical तरीके से store किया जाता है| 

Type of Linear Data Structure in Hindi:

Arrays

एक Array समान प्रकार के डाटा आइटम का एक संग्रह है और प्रत्येक डाटा आइटम को Array का एक element  कहा जाता है। Element  का data type  किसी भी valid  data type जैसे char, int, float, double हो सकता है।

Array one dimensional, two dimensional or multidimensional हो सकता  है।

Example 

उम्र [0], उम्र [1], उम्र [2], उम्र [3], ……… उम्र [98], उम्र [99]।

Linked List: 

Linked List एक linear डाटा स्ट्रक्चर्स है जिसका उपयोग memory में एक list को बनाए रखने के लिए किया जाता है। सूची के प्रत्येक node  में इसके अन्य node  के लिए एक पॉइंटर होता है।

Stack: 

Stack एक linear list  है जिसमें insertion और deletions की अनुमति केवल एक छोर पर दी जाती है, जिसे top कहा जाता है।

Stack एक abstract data type (ADT) है, जिसे अधिकांश programming languages में implement किया जा सकता है। इसे Stack कहते है क्योंकि यह एक वास्तविक दुनिया Stack की तरह व्यवहार करता है, उदाहरण के लिए: – प्लेटों के ढेर या कार्ड के डेक आदि।

Queue: 

Queue एक linear list  है जिसमें elements को केवल एक छोर पर डाला जा सकता है जिसे rear कहा जाता है और केवल दूसरे छोर पर हटा दिया जाता है जिसे front कहा जाता है।

यह Stack के समान एक abstract data structure है। Queue दोनों छोर पर खोली जाती है इसलिए यह डाटा आइटम संग्रहीत करने के लिए First-In-First-Out (FIFO) पद्धति का अनुसरण करती है।

Non Linear Data Structure in Hindi: : 

यह डाटा स्ट्रक्चर्स एक sequence नहीं बनाती है अर्थात् प्रत्येक आइटम या तत्व एक गैर-रेखीय व्यवस्था में दो या अधिक अन्य वस्तुओं के साथ जुड़ा हुआ है। डाटा तत्वों को अनुक्रमिक संरचना में व्यवस्थित नहीं किया जाता है।

Type of Non-Linear Data Structure in Hindi 

Tree

Tree multilevel डाटा स्ट्रक्चर्स होता है, जिसमें इसके तत्वों के बीच hierarchical relationship होते हैं जिन्हें nodes कहा जाता है। सबसे नीचे वाले node को leaf node कहा जाता है जबकि सबसे ऊपरी node को root node कहा जाता है। प्रत्येक node में adjacent node  को इंगित करने के लिए pointers होते हैं।

Graphs: 

Graph को elements के pictorial representation के रूप में परिभाषित किया जा सकता है जो कि links के द्वारा जुड़े होते है जिन्हे edge कहते है । एक graph, tree  से अलग होता है क्योंकि एक graph में circle हो सकता है जबकि tree में नहीं हो सकता।