data structure किसी Computer system में डेटा को स्टोर तथा व्यवस्थित करने का एक तरीका होता है. जिससे कि हम डेटा का आसानी से इस्तेमाल कर सकें, अर्थात डेटा को इस प्रकार स्टोर तथा organise किया जाता है, कि उसको बाद में किसी भी समय आसानी से access किया जा सकें, अगर इसे हम और आसान शब्दों में कहे तो एक डेटा संरचना कंप्यूटर में डेटा को व्यवस्थित करने का एक विशेष तरीका है, ताकि इसे प्रभावी ढंग से उपयोग किया जा सके।
डेटा संरचना बड़े डेटा सेट के भीतर डेटा की इकाइयों को व्यवस्थित करने के तरीकों को संदर्भित करता है. विशिष्ट डेटा संरचनाओं को प्राप्त करने और बनाए रखने से डेटा एक्सेस और मूल्य में सुधार करने में मदद मिलती है. डेटा संरचनाएं प्रोग्रामर को विभिन्न प्रोग्रामिंग कार्यों को लागू करने में भी मदद करती हैं. किसी problem को solve करने के लिए data को computer memory में एक निश्चित व्यवस्थित तरीके से store और organize करना ताकि उसे efficiently use किया जा सके data structure कह लाता है, यहाँ पर आपको यह बात समझनी चाहिए की एक programmer के रूप में आपको कई real world problems को solve करना होता है. इन problems को solve करते समय data और उसका organization बहुत महत्वपूर्ण होता है।
Contents
What is Data Structures in Hindi
Data Structures को डेटा तत्वों के समूह के रूप में परिभाषित किया जा सकता है. जो कंप्यूटर में डेटा को संग्रहीत और व्यवस्थित करने का एक कुशल तरीका प्रदान करता है, ताकि इसे कुशलता से उपयोग किया जा सके. Data Structures के कुछ उदाहरण Array, linked list, stack, queue इत्यादि हैं. Data Structures का इस्तेमाल कंप्यूटर साइंस के लगभग हर पहलू यानी ऑपरेटिंग सिस्टम, कंपाइलर डिज़ाइन, आर्टिफ़िशियल इंटेलिजेंस, ग्राफ़िक्स और बहुत कुछ में किया जाता है।
Data Structures कई Computer Science Algorithm का मुख्य हिस्सा हैं. क्योंकि वे प्रोग्रामर को कुशल तरीके से डेटा को संभालने में सक्षम बनाते हैं. यह एक सॉफ्टवेयर या एक कार्यक्रम के प्रदर्शन को बढ़ाने में एक महत्वपूर्ण भूमिका निभाता है क्योंकि सॉफ्टवेयर का मुख्य कार्य उपयोगकर्ता के डेटा को यथासंभव तेजी से संग्रहीत और पुनर्प्राप्त करना होता है।
आधुनिक दुनिया में, डेटा और इसकी जानकारी एक आवश्यक हिस्सा है, और विभिन्न कार्यान्वयन विभिन्न तरीकों से संग्रहीत करने के लिए किए जा रहे हैं. डेटा केवल तथ्यों और आंकड़ों का एक संग्रह है, या आप कह सकते हैं कि डेटा मान या मानों का एक सेट है जो किसी विशेष प्रारूप में हैं. एक डेटा आइटम मूल्यों के एक सेट को संदर्भित करता है, डेटा आइटम को फिर उप-आइटम में वर्गीकृत किया जाता है जो उन वस्तुओं का समूह होता है जिन्हें वस्तुओं का एक प्रारंभिक प्राथमिक रूप नहीं कहा जा रहा है. आइए एक उदाहरण लेते हैं जहां छात्र का नाम तीन उप-मदों में विभाजित किया जा सकता है: पहला नाम, मध्य नाम और अंतिम नाम, लेकिन एक छात्र को जो आईडी सौंपी जाती है, उसे आमतौर पर एक ही आइटम माना जाता है।
कंप्यूटर के संदर्भ में, एक डेटा संरचना कंप्यूटर की मेमोरी में डेटा को स्टोर और व्यवस्थित करने का एक विशिष्ट तरीका है, ताकि इन डेटा को बाद में कुशलतापूर्वक उपयोग किया जा सके, डेटा को कई अलग-अलग तरीकों से व्यवस्थित किया जा सकता है जैसे कि डेटा के किसी विशेष संगठन के लिए तार्किक या गणितीय मॉडल को डेटा संरचना कहा जाता है. एक विशिष्ट डेटा मॉडल की विविधता दो कारकों पर निर्भर करती है –
सबसे पहले, इसे वास्तविक विश्व वस्तु के साथ डेटा के वास्तविक संबंधों को प्रतिबिंबित करने के लिए संरचना में पर्याप्त लोड किया जाना चाहिए।
दूसरे, गठन पर्याप्त सरल होना चाहिए ताकि कोई भी हर बार आवश्यक रूप से डेटा को कुशलतापूर्वक संसाधित कर सके।
Basic Terminology
डेटा संरचनाएं किसी भी प्रोग्राम या सॉफ़्टवेयर के बिल्डिंग ब्लॉक हैं। एक प्रोग्रामर के लिए उपयुक्त डेटा संरचना चुनना एक प्रोग्रामर के लिए सबसे मुश्किल काम है. जहाँ तक डेटा संरचनाओं का संबंध है, शब्दावली का उपयोग किया जाता है
Data – डेटा को एक प्राथमिक मूल्य या मूल्यों के संग्रह के रूप में परिभाषित किया जा सकता है, उदाहरण के लिए, छात्र का नाम और उसकी आईडी छात्र के बारे में डेटा है।
Group Items – जिन डेटा आइटमों में अधीनस्थ डेटा आइटम होते हैं, उन्हें समूह आइटम कहा जाता है, उदाहरण के लिए, किसी छात्र के नाम में पहला नाम और अंतिम नाम हो सकता है।
Record – रिकॉर्ड को विभिन्न डेटा आइटमों के संग्रह के रूप में परिभाषित किया जा सकता है, उदाहरण के लिए, यदि हम छात्र इकाई के बारे में बात करते हैं, तो छात्र का रिकॉर्ड बनाने के लिए उसका नाम, पता, पाठ्यक्रम और अंक एक साथ रखा जा सकता है।
File – एक फ़ाइल एक प्रकार की इकाई के विभिन्न रिकॉर्ड का एक संग्रह है, उदाहरण के लिए, यदि कक्षा में 60 कर्मचारी हैं, तो संबंधित फ़ाइल में 20 रिकॉर्ड होंगे जहां प्रत्येक रिकॉर्ड में प्रत्येक कर्मचारी के बारे में डेटा होता है।
Attribute and Entity – एक इकाई कुछ वस्तुओं के वर्ग का प्रतिनिधित्व करती है। इसमें विभिन्न विशेषताएं हैं। प्रत्येक विशेषता उस इकाई की विशेष संपत्ति का प्रतिनिधित्व करती है।
Field – फ़ील्ड एक इकाई की विशेषता का प्रतिनिधित्व करने वाली जानकारी की एक एकल प्राथमिक इकाई है
Advantages of Data Structures
Efficiency – एक कार्यक्रम की दक्षता डेटा संरचनाओं की पसंद पर निर्भर करती है। उदाहरण के लिए: मान लीजिए, हमारे पास कुछ डेटा है और हमें एक पर्टिकुलर रिकॉर्ड की खोज करने की आवश्यकता है। उस स्थिति में, यदि हम अपने डेटा को किसी सरणी में व्यवस्थित करते हैं, तो हमें क्रमिक रूप से तत्व द्वारा खोज करना होगा। इसलिए, सरणी का उपयोग करना यहां बहुत कुशल नहीं हो सकता है। बेहतर डेटा संरचनाएं हैं जो खोज की प्रक्रिया को क्रमबद्ध सरणी, बाइनरी सर्च ट्री या हैश टेबल जैसे कुशल बना सकती हैं
Reusability – डेटा संरचनाएं पुन: प्रयोज्य हैं, अर्थात् एक बार जब हमने किसी विशेष डेटा संरचना को लागू किया है, तो हम इसे किसी अन्य स्थान पर उपयोग कर सकते हैं। डेटा संरचनाओं के कार्यान्वयन को पुस्तकालयों में संकलित किया जा सकता है जो विभिन्न ग्राहकों द्वारा उपयोग किया जा सकता है
Abstractions – डेटा संरचना ADT द्वारा निर्दिष्ट की जाती है जो एब्सट्रैक्शन का एक स्तर प्रदान करता है। क्लाइंट प्रोग्राम केवल इंटरफ़ेस के माध्यम से डेटा संरचना का उपयोग करता है, कार्यान्वयन विवरण में शामिल हुए बिना।
Data Structures Algorithm
एक एल्गोरिथ्म एक प्रक्रिया है जो किसी विशेष समस्या को हल करने के लिए अच्छी तरह से परिभाषित कदम है। एल्गोरिथ्म तर्क या निर्देशों का सीमित सेट है, जो कुछ पूर्वनिर्धारित कार्य को पूरा करने के लिए लिखा गया है। यह पूर्ण कार्यक्रम या कोड नहीं है, यह एक समस्या का सिर्फ एक समाधान (तर्क) है, जिसे फ्लोचार्ट या स्यूडो कोड का उपयोग करके या तो अनौपचारिक विवरण के रूप में दर्शाया जा सकता है
एल्गोरिदम की प्रमुख श्रेणियां नीचे दी गई हैं
Sort – कुछ क्रम में आइटम सॉर्ट करने के लिए एल्गोरिथम विकसित किया गया।
Search – एक डेटा संरचना के अंदर वस्तुओं की खोज के लिए एल्गोरिथम विकसित किया गया।
Delete – डेटा संरचना से मौजूदा तत्व को हटाने के लिए विकसित एल्गोरिथम।
Insert – एक डेटा संरचना के अंदर एक आइटम डालने के लिए एल्गोरिथ्म विकसित किया गया।
Update – एल्गोरिथ्म एक डेटा संरचना के अंदर मौजूदा तत्व को अद्यतन करने के लिए विकसित किया गया है।
Data Structures Pointer
कंप्यूटर मेमोरी में कहीं भी संग्रहीत मूल्य के पते को इंगित करने के लिए पॉइंटर का उपयोग किया जाता है। स्थान पर संग्रहीत मूल्य प्राप्त करने के लिए पॉइंटर को डेरेफेरिंग के रूप में जाना जाता है। सूचक दोहराए जाने की प्रक्रिया के लिए प्रदर्शन में सुधार करता है जैसे:
Traversing String
Lookup Tables
Control Tables
Tree Structures
डेटा स्ट्रक्चर के प्रकार ?
String − String Data Structure में करैक्टर्स के समूह को String कहा जाता है. String को डिफाइन करने के लिए string का प्रयोग किया जाता है और String को “Double Quote” में डाला जाता है, उदाहरण- string “shivam
Primitive Data Structure − Primitive Data Structure ऐसी डेटा संरचना है जो कंप्यूटर द्वारा दिये गये निर्देशों से सीधे संचालित किया जा सकते है।
Integer − Integer में दशमलव के अलावा अन्य सभी संख्याएं हैं, इन्टिजर डिफाइन करने के लिए int का प्रयोग किया जाता है. उदाहरण- int a =7;
Double − डबल एक मूलभूत डेटा प्रकार है जिसे कंपाइलर में बनाया गया है, और दशमलव अंकों के साथ संख्या वाले संख्यात्मक वेरिएबल्स को डिफाइन करने के लिए उपयोग किया जाता है।
Float − Float दशमलव संख्या को फ्लोट में डिफाइन किया जाता है. फ्लोट में इन्टिजर का मान भी डिफाइन होता है जैसा की हम सभी जानते है, किसी भी संख्या को फ्लोट में डिफाइन करने के लिए float का प्रयोग किया जाता है, उदाहरण- float a =4.2;
Data Structures Array
Arrays को Embodied memory स्थानों पर संग्रहीत समान प्रकार के डेटा आइटमों के संग्रह के रूप में परिभाषित किया गया है. Arrays C प्रोग्रामिंग भाषा में व्युत्पन्न डेटा प्रकार है. जो आदिम प्रकार के डेटा को संग्रहीत कर सकते हैं जैसे int, char, double, float, आदि। एरे सबसे सरल डेटा संरचना है जहां प्रत्येक डेटा तत्व को अपनी अनुक्रमणिका संख्या का उपयोग करके बेतरतीब ढंग से एक्सेस किया जा सकता है. उदाहरण के लिए, यदि हम किसी छात्र के अंकों को 6 विषयों में संग्रहीत करना चाहते हैं, तो हमें अलग-अलग विषय में अंकों के लिए अलग-अलग चर को परिभाषित करने की आवश्यकता नहीं है. इसके बजाय, हम एक सरणी को परिभाषित कर सकते हैं जो प्रत्येक विषय में निशानों को स्मृति स्थान पर संग्रहीत कर सकता है।