Data Structure in hindi – Introduction

Data structure tutorial in hindi, data structure introduction in hindi, introduction to data structure in hindi, data structure in hindi – introduction, data structure kya hai,

Data structure introduction in hindi,

  •  introduction in hindi,
  • Basic terminology in hindi,
    1. Data,
    2. Group items,
    3. Record,
    4. File ,
    5. Attribute and Entity,
    6. Field,
  • Need of Data Structures in hindi,
    1. Processor speed,
    2. Data search,
    3. Multiple requests,
  • Advantages of Data structures in hindi,
    1. Efficiency,
    2. Reusability,
    3. Abstraction,
  • Data structure classification in hindi,
    1. Linear data structures in hindi,
      • Arrays,
      • Linked list,
      • Stack,
      • Queue,
    2.  Non linear data structures in hindi,
      • Trees,
      • Graphs,
  • Operations on data structures in hindi,
    • Traversing,
    • Insertion,
    • Deletion,
    • Searching,
    • Sorting,
    • Merging,
data structures introduction in hindi

Data structure introduction in Hindi

Data structure (structure) को Data तत्वों (elements) के समूह के रूप में परिभाषित किया जा सकता है जो कंप्यूटर में Dataको संग्रहीत (store) और व्यवस्थित (organise) करने का एक कुशल(efficient) तरीका प्रदान करता है ताकि इसे कुशलता (efficiently) से उपयोग किया जा सके।  Data structures के कुछ उदाहरण Arrays, Linked list, Stack, Queue इत्यादि हैं। Data structures का इस्तेमाल कंप्यूटर साइंस के लगभग हर पहलू यानी operating system, compiler design, Artificial intelligence, graphics और बहुत कुछ में व्यापक (widely) रूप से किया जाता है।

Data structure कई computer science algorithms का मुख्य हिस्सा हैं क्योंकि वे programmers को कुशल तरीके से data को संभालने में सक्षम बनाते हैं।  यह एक software या एक program के function को बढ़ाने में एक महत्वपूर्ण भूमिका निभाता है क्योंकि software का मुख्य कार्य user के Data को तेजी से संग्रहीत और पुनर्प्राप्त (retrive) करना है।

Basic Terminology

Data structure किसी भी program या software के building blocks हैं।  एक programmer के लिए उपयुक्त (appropriate) Data structure चुनना एक programmer के लिए सबसे मुश्किल काम है।  जहाँ तक Data structure का संबंध है, निम्नलिखित शब्दावली (terminology) का उपयोग किया जाता है

Data: Data को एक प्राथमिक (elementary) value या values के collection के रूप में परिभाषित किया जा सकता है, उदाहरण के लिए, छात्र का नाम और उसकी ID छात्र के बारे में Data है।

Group items: वे Data items जिनमें subordinate Data आइटम होते हैं, उन्हें group item कहा जाता है, उदाहरण के लिए, किसी छात्र के नाम में पहला नाम और अंतिम नाम हो सकता है।

Record: record को विभिन्न Data items के collection के रूप में परिभाषित किया जा सकता है, उदाहरण के लिए, यदि हम छात्र इकाई (entity) के बारे में बात करते हैं, तो छात्र का record बनाने के लिए उसका नाम, पता, पाठ्यक्रम (course) और अंक (marks) एक साथ समूहीकृत (grouped) किए जा सकते हैं।

File: एक file एक प्रकार की इकाई (entity) के विभिन्न record का एक collection है, उदाहरण के लिए, यदि कक्षा में 60 कर्मचारी हैं, तो संबंधित (related) file में 20 record होंगे जहां प्रत्येक record में प्रत्येक कर्मचारी के बारे में Data होता है।

Attribute and Entity: एक इकाई (entity) कुछ वस्तुओं के वर्ग (class) का प्रतिनिधित्व (representation) करती है।  इसमें विभिन्न attributes हैं। प्रत्येक attribute उस entity की विशेष (particular) संपत्ति का प्रतिनिधित्व (representation) करती है।

Field: field एक entity के attribute को represent करने वाली जानकारी की एक single प्राथमिक (elementary) entity है।

 

Need of Data Structures

जैसे-जैसे applications जटिल (complex) होते जा रहे हैं और Data की मात्रा दिन-ब-दिन बढ़ती जा रही है, निम्नलिखित समस्याएं हो सकती हैं:

Processor speed : बहुत ज्यादा Data को संभालने के लिए, high speed processing की आवश्यकता होती है, लेकिन जैसे कि Data प्रति दिन अरबों फाइलों में बढ़ रहा है, processor Data की उस मात्रा से निपटने में fail हो सकता है।

Data search : मान लीजिये एक स्टोर में 106 items की एक सूची है, यदि हमारे application को किसी विशेष item की खोज करने की आवश्यकता है, तो उसे हर बार 106 आइटमों को पीछे करने की आवश्यकता होती है, जिसके परिणामस्वरूप खोज प्रक्रिया धीमी हो जाती है।

Multiple requests: यदि हजारों users Web server पर एक साथ Data खोज रहे हैं, तो ऐसी संभावना है कि इस प्रक्रिया के दौरान एक बहुत बड़ा server fail हो सकता है

उपरोक्त समस्याओं को हल करने के लिए, Data structures का उपयोग किया जाता है।  Data को इस तरह से data structure बनाने के लिए व्यवस्थित (organize) किया जाता है कि सभी वस्तुओं को खोजे जाने की आवश्यकता नहीं होती है और आवश्यक data को तुरंत खोजा जा सकता है।

 

Advantages of Data Structures

Efficiency: एक program की efficiency सही Data structures को चुनने पर निर्भर करती है।  उदाहरण के लिए : मान लीजिए, हमारे पास कुछ data है और हमें एक perticular record की खोज करने की आवश्यकता है।  उस स्थिति में, यदि हम अपने data को किसी Array में व्यवस्थित (organize) करते हैं, तो हमें क्रमिक (sequentially) रूप से element से element तक  खोज करनी होगी। इसलिए, array का उपयोग करना यहां बहुत कुशल नहीं होगा। बेहतर Data structures वो हैं जो खोज की प्रक्रिया को ordered array, binary search tree या hash table जैसे कुशल बना सकती हैं।

Reusability: Data structures reusable हैं, अर्थात् एक बार जब हमने किसी विशेष Data structure को लागू किया है, तो हम इसे किसी अन्य स्थान पर भी उपयोग कर सकते हैं।  Data structures के implementation को libraries में compile किया जा सकता है जो विभिन्न clients द्वारा उपयोग किया जा सकता है।

Abstraction: Data structure ADT द्वारा निर्दिष्ट (specified) की जाती है जो abstraction का एक level प्रदान करता है। client program implementation details में शामिल किए बिना, केवल interface के माध्यम से Data structure का उपयोग करता है।

 

Data Structure Classification

Linear Data Structures:

किसी Data structure को linear तभी कहा जाता है यदि उसके सभी elements को linear order में व्यवस्थित (arrange) किया जाता है।  linear Data structures में, elements को गैर-श्रेणीबद्ध (non-hierarchical) तरीके से संग्रहीत किया जाता है जहां प्रत्येक तत्व (element) में पहले और अंतिम element को छोड़कर successors और predecessors होते हैं।

Linear Data structure के प्रकार नीचे दिए गए हैं:

Arrays: एक array समान प्रकार के Data item का एक संग्रह (collection) है और प्रत्येक Data item को array का एक तत्व (element) कहा जाता है। तत्व का Data प्रकार किसी भी वैध Data प्रकार जैसे char, int, float या double हो सकता है।

Array के element समान variable name साझा करते हैं, लेकिन प्रत्येक एक अलग index number होता है जिसे subscript के रूप में जाना जाता है।  array एक dimensional, दो dimensional या बहुआयामी (multidimensional) हो सकती है।

Array age के अलग-अलग elements हैं:

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

Linked List: linked list एक linear Data structure है जिसका उपयोग memory में एक list को बनाए रखने के लिए किया जाता है।  इसे गैर-सन्निहित (non contiguous) memory स्थानों पर संग्रहीत (stored) nodes के collection के रूप में देखा जा सकता है। सूची के प्रत्येक node में adjacent node के लिए एक pointer होता है।

Stack: stack एक linear list है जिसमें insertion और deletion की अनुमति केवल एक छोर पर दी जाती है, जिसे शीर्ष (top) कहा जाता है।

stack एक abstract data प्रकार (ADT) है, जिसे अधिकांश प्रोग्रामिंग भाषाओं में लागू किया जा सकता है।  इसे stack नाम दिया गया है क्योंकि यह एक वास्तविक दुनिया के stack की तरह व्यवहार करता है, उदाहरण के लिए: – प्लेटों के ढेर या ताश के पत्ते आदि।

Queue: कतार (queue) एक linear सूची है जिसमें तत्वों (elements) को केवल एक छोर पर डाला जा सकता है जिसे rear कहा जाता है और केवल दूसरे छोर पर हटाया जाता है जिसे front कहा जाता है।

यह stack के समान एक abstract Data structure है। कतार को दोनों सिरों पर खोला जाता है, इसलिए यह Data items को संग्रहीत करने के लिए First-In-First-Out (FIFO) कार्यप्रणाली का अनुसरण (follows) करता है।

Non Data structures:

यह Data structure sequence नहीं बनाता है यानी प्रत्येक वस्तु या तत्व एक non linear व्यवस्था (arrangement) में दो या अधिक अन्य वस्तुओं से जुड़ा होता है।  Data तत्वों को अनुक्रमिक (sequential) संरचना (structure) में व्यवस्थित (arrange) नहीं किया जाता है।

Non linear Data structure के प्रकार नीचे दिए गए हैं:

Trees: trees बहुस्तरीय (multilevel) Data structure होते है, जिसमें इसके elements के बीच पदानुक्रमित (hierarchical) संबंध होते हैं जिन्हें nodes कहा जाता है। hierarchy में bottommost nodes को Leaf node कहा जाता है जबकि सबसे ऊपरी node को Root node कहा जाता है।  प्रत्येक node में समीपवर्ती (adjacent) nodes को इंगित (point) करने के लिए pointers होते हैं।

tree Data structure nodes के बीच माता-पिता-बच्चे के संबंध पर आधारित है। पेड़ में प्रत्येक node में पत्ती (leaf) nodes को छोड़कर एक से अधिक बच्चे हो सकते हैं, जबकि प्रत्येक node में मूल (root) node को छोड़कर एक से अधिक माता-पिता हो सकते हैं। trees को कई श्रेणियों (categories) में वर्गीकृत (classified) किया जा सकता है।

Graphs: रेखांकन (graphs) को किनारों (edges) के रूप में link द्वारा जुड़े elements के के चित्रात्मक (pictorial) representation (vertices द्वारा दर्शाए गए) के रूप में परिभाषित किया जा सकता है।  एक graph पेड़ से अलग है क्योंकि एक graph में चक्र (cycle) हो सकता है जबकि पेड़ में वो नहीं हो सकता है

 

Operations on data structure

  1. Traversing: प्रत्येक Data structure में Data elements का समूह होता है। डेटा संरचना का पता लगाने का अर्थ है कि खोज और छँटाई जैसे कुछ विशिष्ट ऑपरेशन करने के लिए डेटा संरचना के प्रत्येक तत्व पर जाना। 

उदाहरण: यदि हमें किसी छात्र द्वारा 6 अलग-अलग विषयों में प्राप्त अंकों की औसत (average) गणना (calculate) करने की आवश्यकता है, तो हमें अंकों की पूरी सरणी (array) को पार करने और कुल योग (sum) की गणना करने की आवश्यकता है, फिर औसत खोजने के लिए हम उस योग को विषयों की संख्या 6, 6 से विभाजित करेंगे। 

2)   Insertion: insertion को किसी भी स्थान पर Data structure में तत्वों (elements) को जोड़ने की प्रक्रिया के रूप में परिभाषित किया जा सकता है।                                                                                               

यदि Data structure का आकार n है तो हम केवल इसमें n-1 Data तत्व सम्मिलित (insert) कर सकते हैं।

3)  Deletion: Data structure से किसी तत्व को हटाने की प्रक्रिया को deletion कहा जाता है। हम किसी भी random स्थान पर Data structure से एक element को हटा सकते हैं।

यदि हम किसी तत्व को खाली Data structure से हटाने का प्रयास करते हैं तो underflow होता है।

4)  Searching: Data structure के भीतर एक तत्व के स्थान को खोजने की प्रक्रिया को searching कहा जाता है। search करने के लिए 2 algorithms हैं, Linear search और Binary search।

5)  Sorting: Data structure को एक विशिष्ट (specific) क्रम (order) में व्यवस्थित (arrange) करने की प्रक्रिया को sorting के रूप में जाना जाता है।  कई algorithm हैं जिनका उपयोग छँटाई (sorting) करने के लिए किया जा सकता है, उदाहरण के लिए, insertion sort, selection sort, bubble sort, आदि।

Leave a Reply

DMCA.com Protection Status