Computer in Hindi | Business in Hindi: Data structure and Algorithm
Showing posts with label Data structure and Algorithm. Show all posts
Showing posts with label Data structure and Algorithm. Show all posts

Wednesday, June 9, 2021

adaptive & non-adaptive routing algorithms in Hindi

June 09, 2021 0
adaptive & non-adaptive routing algorithms in Hindi

 routing algorithm एक ऐसी प्रक्रिया है जो डेटा पैकेट को स्रोत से गंतव्य तक स्थानांतरित करने के लिए मार्ग या पथ निर्धारित करती है। वे इंटरनेट यातायात को कुशलतापूर्वक निर्देशित करने में मदद करते हैं। डेटा पैकेट अपने स्रोत को छोड़ने के बाद, यह अपने गंतव्य तक पहुंचने के लिए कई अलग-अलग रास्तों में से चुन सकता है।  routing algorithm गणितीय रूप से सर्वोत्तम पथ की गणना करता है, अर्थात "न्यूनतम - लागत पथ" जिसके माध्यम से पैकेट को रूट किया जा सकता है।

 Routing algorithm in Hindi & it's type

Routing algorithm in Hindi
Routing algorithm in Hindi

 

routing algorithm को मोटे तौर पर दो प्रकारों में वर्गीकृत किया जा सकता है, adaptive और nonadaptive routing algorithms उन्हें आगे और वर्गीकृत किया जा सकता है जैसा कि निम्नलिखित आरेख में दिखाया गया है -

Adaptive Routing Algorithms in Hindi

 

Adaptive Routing Algorithms, जिसे डायनेमिक रूटिंग एल्गोरिदम के रूप में भी जाना जाता है, नेटवर्क स्थितियों के आधार पर गतिशील रूप से रूटिंग निर्णय लेता है। यह नेटवर्क ट्रैफिक और टोपोलॉजी के आधार पर रूटिंग टेबल का निर्माण करता है। वे हॉप गिनती, पारगमन समय और दूरी के आधार पर अनुकूलित मार्ग की गणना करने का प्रयास करते हैं।

Adaptive Routing Algorithms के तीन लोकप्रिय प्रकार हैं -

  • Centralized algorithm − यह नेटवर्क के बारे में वैश्विक ज्ञान का उपयोग करके स्रोत और गंतव्य नोड्स के बीच कम से कम लागत वाला रास्ता खोजता है। इसलिए, इसे ग्लोबल रूटिंग एल्गोरिथम के रूप में भी जाना जाता है।


  • Isolated algorithm − यह एल्गोरिथम अन्य नोड्स से जानकारी एकत्र करने के बजाय स्थानीय जानकारी का उपयोग करके रूटिंग जानकारी प्राप्त करता है।


  • Distributed algorithm − यह एक विकेन्द्रीकृत एल्गोरिथम है जो वितरित तरीके से स्रोत और गंतव्य के बीच कम से कम लागत वाले पथ की गणना करता है।


Non – Adaptive Routing Algorithms in Hindi

 

Non – Adaptive Routing Algorithms, जिसे स्टेटिक रूटिंग एल्गोरिदम (static routing algorithms)के रूप में भी जाना जाता है, एक स्थिर रूटिंग टेबल का निर्माण करता है ताकि यह निर्धारित किया जा सके कि पैकेट को किस रास्ते से भेजा जाना है। नेटवर्क बूट होने पर राउटर में संग्रहीत रूटिंग जानकारी के आधार पर स्थिर रूटिंग टेबल का निर्माण किया जाता है।

दो प्रकार के Non – Adaptive Routing Algorithms हैं -

  • Flooding − बाढ़ में, जब एक डेटा पैकेट राउटर पर आता है, तो इसे सभी आउटगोइंग लिंक पर भेजा जाता है, सिवाय इसके कि जिस पर वह आया है। बाढ़ अनियंत्रित, नियंत्रित या चयनात्मक बाढ़ हो सकती है।


  • Random walks − यह एक संभाव्य एल्गोरिथम है जहां राउटर द्वारा अपने किसी एक पड़ोसी को डेटा पैकेट बेतरतीब ढंग से भेजा जाता है।

Sunday, September 27, 2020

Data structure in Hindi | classification of data structure in Hindi

September 27, 2020 0
Data structure in Hindi | classification of data structure in Hindi

what is data structure in hindi



data structure को डेटा तत्वों के समूह के रूप में परिभाषित किया जा सकता है जो कंप्यूटर में डेटा को संग्रहीत और व्यवस्थित करने का एक कुशल तरीका प्रदान करता है ताकि इसे कुशलता से उपयोग किया जा सके। डेटा स्ट्रक्चर्स के कुछ उदाहरण एरेज़, लिंक्ड लिस्ट, स्टैक, क्यू इत्यादि हैं। डेटा स्ट्रक्चर्स का इस्तेमाल कंप्यूटर साइंस के लगभग हर पहलू यानी ऑपरेटिंग सिस्टम, कंपाइलर डिज़ाइन, आर्टिफ़िशियल इंटेलिजेंस, ग्राफिक्स और बहुत कुछ में व्यापक रूप से किया जाता है।



data structure in hindi
data structure in hindi

data structure in Hindi कई कंप्यूटर विज्ञान एल्गोरिदम का मुख्य हिस्सा हैं क्योंकि वे प्रोग्रामर को कुशल तरीके से डेटा को संभालने में सक्षम बनाते हैं। यह सॉफ्टवेयर या प्रोग्राम के प्रदर्शन को बढ़ाने में एक महत्वपूर्ण भूमिका निभाता है क्योंकि सॉफ्टवेयर का मुख्य कार्य उपयोगकर्ता के डेटा को यथासंभव तेजी से संग्रहित करना और प्राप्त करना है।


Basic Terminology in data structure In Hindi


data structure किसी भी प्रोग्राम या सॉफ़्टवेयर के बिल्डिंग ब्लॉक हैं। एक प्रोग्रामर के लिए उपयुक्त डेटा संरचना चुनना एक प्रोग्रामर के लिए सबसे मुश्किल काम है। जहाँ तक डेटा संरचनाओं का संबंध है, शब्दावली का उपयोग किया जाता है

Data: डेटा को एक प्राथमिक मूल्य या मूल्यों के संग्रह के रूप में परिभाषित किया जा सकता है, उदाहरण के लिए, छात्र का नाम और उसकी आईडी छात्र के बारे में डेटा है।

Group Items: जिन डेटा आइटमों के अधीनस्थ डेटा आइटम होते हैं, उन्हें समूह आइटम कहा जाता है, उदाहरण के लिए, किसी छात्र के नाम में पहला नाम और अंतिम नाम हो सकता है।

Record: रिकॉर्ड को विभिन्न डेटा आइटमों के संग्रह के रूप में परिभाषित किया जा सकता है, उदाहरण के लिए, अगर हम छात्र इकाई के बारे में बात करते हैं, तो छात्र का रिकॉर्ड बनाने के लिए उसका नाम, पता, पाठ्यक्रम और अंक एक साथ रखा जा सकता है।

File: एक फ़ाइल एक प्रकार की इकाई के विभिन्न रिकॉर्ड का एक संग्रह है, उदाहरण के लिए, यदि कक्षा में 60 कर्मचारी हैं, तो संबंधित फ़ाइल में 20 रिकॉर्ड होंगे जहां प्रत्येक रिकॉर्ड में प्रत्येक कर्मचारी के बारे में डेटा होता है।

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

Field: फ़ील्ड एक इकाई की विशेषता का प्रतिनिधित्व करने वाली जानकारी की एक एकल प्राथमिक इकाई है।


Need of Data Structures In Hindi


जैसे-जैसे एप्लिकेशन जटिल होते जा रहे हैं और डेटा की मात्रा दिन-ब-दिन बढ़ती जा रही है, निम्नलिखित समस्याएं हो सकती हैं:

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


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

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

उपरोक्त समस्याओं को हल करने के लिए, डेटा संरचनाओं का उपयोग किया जाता है। डेटा को इस तरह से डेटा संरचना बनाने के लिए व्यवस्थित किया जाता है कि सभी वस्तुओं को खोजे जाने की आवश्यकता नहीं होती है और आवश्यक डेटा को तुरंत खोजा जा सकता है।



Advantages of Data Structures in Hindi


Efficiency: एक कार्यक्रम की दक्षता Data Structures की पसंद पर निर्भर करती है। उदाहरण के लिए: मान लीजिए, हमारे पास कुछ डेटा है और हमें एक पर्टिकुलर रिकॉर्ड की खोज करने की आवश्यकता है। उस स्थिति में, यदि हम अपने डेटा को किसी सरणी में व्यवस्थित करते हैं, तो हमें तत्व द्वारा क्रमिक रूप से खोज करना होगा। इसलिए, सरणी का उपयोग करना यहां बहुत कुशल नहीं हो सकता है। बेहतर data structure हैं जो खोज की प्रक्रिया को क्रमबद्ध सरणी, बाइनरी सर्च ट्री या हैश टेबल जैसे कुशल बना सकती हैं।

Reusability: data structure पुन: प्रयोज्य हैं, अर्थात् एक बार जब हमने किसी विशेष डेटा संरचना को लागू किया है, तो हम इसे किसी अन्य स्थान पर उपयोग कर सकते हैं। डेटा संरचनाओं के कार्यान्वयन को पुस्तकालयों में संकलित किया जा सकता है जो विभिन्न ग्राहकों द्वारा उपयोग किया जा सकता है।

Abstraction:
data structure ADT द्वारा निर्दिष्ट की जाती है जो अमूर्त स्तर प्रदान करता है। ग्राहक कार्यक्रम कार्यान्वयन विवरण में शामिल किए बिना, केवल इंटरफ़ेस के माध्यम से data structure का उपयोग करता है।

Classification For Data Structure in Hindi


Linear Data Structures in Hindi: एक Data Structures को रैखिक कहा जाता है यदि इसके सभी तत्व रैखिक क्रम में व्यवस्थित होते हैं। रैखिक डेटा संरचनाओं में, तत्वों को गैर-श्रेणीबद्ध तरीके से संग्रहीत किया जाता है जहां प्रत्येक तत्व में पहले और अंतिम तत्व को छोड़कर उत्तराधिकारी और पूर्ववर्ती होते हैं।

रैखिक डेटा संरचना के प्रकार नीचे दिए गए हैं:


Arrays: एक सरणी समान प्रकार के डेटा आइटम का एक संग्रह है और प्रत्येक डेटा आइटम को सरणी का एक तत्व कहा जाता है। तत्व का डेटा प्रकार किसी भी मान्य डेटा प्रकार जैसे चार, इंट, फ्लोट या डबल हो सकता है।

सरणी के तत्व समान चर नाम साझा करते हैं, लेकिन हर एक सबस्क्रिप्ट के रूप में जाना जाता है एक अलग सूचकांक संख्या वहन करती है। सरणी एक आयामी, दो आयामी या बहुआयामी हो सकती है।

सरणी आयु के अलग-अलग तत्व हैं:

age[0], age[1], age[2], age[3]........

Linked List in Hindi: लिंक्ड सूची एक रैखिक डेटा संरचना है जिसका उपयोग मेमोरी में एक सूची को बनाए रखने के लिए किया जाता है। इसे गैर-सन्निहित स्मृति स्थानों पर संग्रहीत नोड्स के संग्रह के रूप में देखा जा सकता है। सूची के प्रत्येक नोड में इसके आसन्न नोड के लिए एक पॉइंटर होता है।

Stack: स्टैक एक रैखिक सूची है जिसमें प्रविष्टि और विलोपन केवल एक छोर पर करने की अनुमति है, जिसे शीर्ष कहा जाता है।

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

 उदाहरण के लिए: - प्लेटों के ढेर या कार्ड के डेक आदि।

Queue:  कतार एक रेखीय सूची है जिसमें तत्वों को केवल एक छोर पर डाला जा सकता है जिसे रियर कहा जाता है और केवल दूसरे छोर पर हटा दिया जाता है जिसे फ्रंट कहा जाता है।

यह स्टैक के समान एक अमूर्त डेटा संरचना है। कतार दोनों छोर पर खोली जाती है इसलिए यह डेटा आइटम संग्रहीत करने के लिए प्रथम-प्रथम-प्रथम-आउट (FIFO) पद्धति का अनुसरण करती है।


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

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

Trees: पेड़ों को बहुस्तरीय डेटा संरचना होती है, जिसमें इसके तत्वों के बीच पदानुक्रमित संबंध होते हैं जिन्हें नोड्स कहा जाता है। हियरशियो में बॉटलमॉस्ट नोड्स को लीफ नोड कहा जाता है जबकि सबसे ऊपरी नोड को रूट नोड कहा जाता है। प्रत्येक नोड में समीपवर्ती नोड्स को इंगित करने के लिए पॉइंटर्स होते हैं।

ट्री डेटा संरचना नोड्स के बीच parent-child relationship पर आधारित है। पेड़ में प्रत्येक नोड में पत्ती नोड्स को छोड़कर एक से अधिक बच्चे हो सकते हैं, जबकि प्रत्येक नोड में मूल नोड को छोड़कर एक से अधिक माता-पिता हो सकते हैं। पेड़ों को कई श्रेणियों में वर्गीकृत किया जा सकता है जिन पर बाद में इस ट्यूटोरियल में चर्चा की जाएगी।


Graphs: रेखांकन को किनारों के रूप में ज्ञात लिंक द्वारा जुड़े तत्वों के समुच्चय का चित्रण (वर्टिकल द्वारा दर्शाया गया) के रूप में परिभाषित किया जा सकता है। एक ग्राफ इस मायने में पेड़ से अलग है कि एक ग्राफ में चक्र हो सकता है जबकि पेड़ में एक नहीं हो सकता।

Operations on data structure in Hindi

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

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

2)
Insertion: सम्मिलन को किसी भी स्थान पर डेटा संरचना में तत्वों को जोड़ने की प्रक्रिया के रूप में परिभाषित किया जा सकता है।

यदि डेटा संरचना का आकार n है, तो हम केवल इसमें n-1 डेटा तत्व सम्मिलित कर सकते हैं।

3)
Deletion: डेटा संरचना से एक तत्व को हटाने की प्रक्रिया को डीलेटियन कहा जाता है। हम किसी भी यादृच्छिक स्थान पर डेटा संरचना से एक तत्व को हटा सकते हैं।

यदि हम किसी तत्व को खाली डेटा संरचना से हटाने की कोशिश करते हैं तो अंडरफ्लो होता है।

4)
Searching: डेटा संरचना के भीतर एक तत्व के स्थान को खोजने की प्रक्रिया को खोज कहा जाता है। खोज करने के लिए दो एल्गोरिदम हैं, रैखिक खोज और बाइनरी सर्च। हम इस ट्यूटोरियल में बाद में उनमें से प्रत्येक पर चर्चा करेंगे।

5)
Sorting: डेटा संरचना को एक विशिष्ट क्रम में व्यवस्थित करने की प्रक्रिया को सॉर्टिंग के रूप में जाना जाता है। कई एल्गोरिदम हैं जिनका उपयोग छँटाई करने के लिए किया जा सकता है, उदाहरण के लिए, सम्मिलन प्रकार, चयन प्रकार, बुलबुला प्रकार, आदि।

6)
Merging: जब दो सूचियाँ क्रमश: M और N के आकार A और सूची B की सूची बनाती हैं, समान प्रकार के तत्वों में, तीसरी सूची का निर्माण करने के लिए मिलाया जाता है या आकार की सूची C (M + N) का निर्माण किया जाता है, तो इस प्रक्रिया को विलय कहा जाता है

List Of Topic In data structure in Hindi

Array in data structure

Types Of data structure in Hindi

difference between array and link list in Hindi

Types of Queue in Hindi

binary trees in data structure in Hindi

linked list in Hindi
 

Monday, September 21, 2020

Applications of DFS in Hindi

September 21, 2020 0
Applications of DFS in Hindi

 

Depth-first search (DFS) एक ग्राफ को ट्रेस करने के लिए उपयोग किया जाने वाला Algorithmएल्गोरिदम है। निम्नलिखित समस्याएं हैं जो DFS का उपयोग उभड़ा हुआ ब्लॉक के रूप में करती हैं।


1) अनवीटेड ग्राफ के लिए, ग्राफ का DFS minimum spanning tree का उत्पादन करता है।

Applications of DFS
Applications of DFS



2) Detecting cycle in a graph : एक Graph में एक Cycle होता है यदि और केवल तभी जब हम DFS के दौरान बैक एज देखते हैं। तो हम
Graph के लिए DFS चला सकते हैं और बैक किनारों के लिए जांच कर सकते हैं।


3)  Path Finding: हम दो दिए गए वर्टीकल U और Z के बीच का रास्ता खोजने के लिए डीएफएस एल्गोरिथ्म का विशेषज्ञ बन सकते हैं।

i) शुरुआत के शीर्ष के रूप में U के साथ DFS(G, u) को कॉल करें।

ii) स्टार्ट वर्टेक्स और वर्तमान वर्टेक्स के बीच पथ का ट्रैक रखने के लिए स्टैक S का उपयोग करें।

iii) जैसे ही गंतव्य शीर्ष z का सामना करना पड़ता है, पथ को वापस कर दें

contents of the stack For Applications of DFS



4) Topological Sorting: Topological Sorting का उपयोग मुख्य रूप से  scheduling jobs के बीच दी गई निर्भरता से
jobs के निर्धारण के लिए किया जाता है। कंप्यूटर विज्ञान में, इस प्रकार के एप्लिकेशन इंस्ट्रूमेंटेशन, स्प्रेडशीट, लॉजिक सिंथेसिस में फार्मूला वैल्यू को पुनर्संयोजित करते समय फॉर्मूला सेल मूल्यांकन के आदेश, मेकफाइल्स, डेटा सीरियललाइज़ेशन में प्रदर्शन करने के लिए संकलन कार्यों के क्रम का निर्धारण और लिंकर्स में प्रतीक निर्भरता को हल करने में उत्पन्न होते हैं।


5)To test if a graph is bipartite: हम BFS या DFS में वृद्धि कर सकते हैं, जब हम पहली बार एक नया शीर्ष खोजते हैं, तो उसे उसके parents का विरोध करते हुए रंग दें, और एक दूसरे किनारे के लिए, यह जाँचें कि एक ही रंग के दो कोने लिंक न करें। किसी भी जुड़े घटक में पहला शीर्ष लाल या काला हो सकता है!


6) Finding Strongly Connected Components of a graph: यदि ग्राफ में प्रत्येक शीर्ष से हर दूसरे शीर्ष पर एक मार्ग हो तो निर्देशित ग्राफ को दृढ़ता से जोड़ा जाता है।


7) Solving puzzles with only one solution, जैसे कि मेज़। (DFS को केवल सेट किए गए मार्ग में वर्तमान मार्ग पर नोड्स सहित भूलभुलैया के सभी समाधान खोजने के लिए अनुकूलित किया जा सकता है।)

Tuesday, September 15, 2020

difference between array and link list in hindi

September 15, 2020 0
difference between array and link list in hindi
Arrays और Linked List दोनों  linear data structures हैं, लेकिन दोनों के एक-दूसरे पर कुछ फायदे और नुकसान हैं। अब हम देखगे difference between arrays and linked list.

difference between arrays and linked list.
difference between arrays and linked list.
linked list vs array
linked list vs array

उदाहरण के लिए, एक array एक Datatype  है जिसे व्यापक रूप से डिफ़ॉल्ट प्रकार के रूप में लागू किया जाता है, अधिकांश modern programming languages में, जो समान प्रकार के डेटा को संग्रहीत करने के लिए उपयोग किया जाता है। लेकिन, ऐसे कई मामले हैं, जैसे कि जहां हमें स्टोर किए जाने वाले डेटा की मात्रा का पता नहीं होता है, जिसके लिए कुछ अन्य data structures like Linked Lists का उपयोग किया जा सकता है।

Difference between linked list vs array  in

 Hindi


Arrays और linked List के बीच कुछ अंतर निम्नलिखित हैं:


Data structure linked list vs array
  • एक Array समान डेटा प्रकार के element का एक संग्रह है।
  • Array elements को Array इंडेक्स का उपयोग करके बेतरतीब (randomly) ढंग से एक्सेस किया जा सकता है।
  • Data elements को स्मृति में सन्निहित स्थानों में (contiguous locations in memory) संग्रहीत किया जाता है।
  • memory locations लगातार और फिक्स्ड (consecutive and fixed) होने के बाद से इंसर्शन और डिलीट करना ऑपरेशन (Insertion and Deletion operations) महंगा हो जाता है।
  • compile time (Static memory allocation) के दौरान मेमोरी आवंटित की जाती है।
  • सरणी का आकार सरणी घोषणा / आरंभीकरण (array declaration/initialization) के समय निर्दिष्ट किया जाना चाहिए।
Data structure linked list vs array
  • एक सरणी समान डेटा प्रकार के तत्वों का एक संग्रह है। linked List उसी प्रकार के तत्वों का एक ऑर्डर किया गया संग्रह है जिसमें प्रत्येक तत्व पॉइंटर्स का उपयोग करके अगले से जुड़ा हुआ है।
  • नए तत्वों को कहीं भी संग्रहीत किया जा सकता है और पॉइंटर्स का उपयोग करके नए तत्व के लिए एक संदर्भ बनाया जाता है।
  • linked List में रैंडम एक्सेस संभव नहीं है। तत्वों को क्रमिक रूप से एक्सेस करना होगा।
  •  linked List का आकार नए तत्वों को सम्मिलित / हटाते समय बढ़ता / सिकुड़ता है।
  • linked List में प्रविष्टि और हटाए (Insertion and Deletion operations) जाने की प्रक्रिया तेज और आसान है।
  • मेमोरी को संकलन समय (स्टैटिक मेमोरी एलोकेशन) के दौरान आवंटित किया जाता है।

Advantages of Linked Lists in Hindi



  •     linked List का आकार निश्चित नहीं है, वे रन टाइम के दौरान विस्तार और सिकुड़ सकती हैं।
  •     linked List  में Insertion and Deletion operations तेज और आसान हैं।
  •     मेमोरी आवंटन रन-टाइम के दौरान किया जाता है (किसी भी निश्चित मेमोरी को आवंटित करने की आवश्यकता नहीं है)।
  •    linked List का उपयोग करके data structure जैसे स्टैक्स, क्यूए और पेड़ आसानी से लागू किए जा सकते हैं।

Disadvantages of Linked Lists in Hindi


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

 

Applications of Linked Lists in Hindi


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

Tuesday, September 8, 2020

binary trees in data structure in Hindi

September 08, 2020 0
binary trees in data structure in Hindi
एक binary tree data structure in hindi एक non-linear data structure है, जो linear data structures जैसे arrays, linked lists, stacks और queues के विपरीत है।

एक
binary tree एक tree data structure है जिसमें प्रत्येक नोड में दो child nodes तक होते हैं जो पेड़ की शाखाएं बनाते हैं। दो childs को आमतौर पर बाएं और दाएं नोड के रूप में संदर्भित किया जाता है। Parent nodes children के साथ नोड्स हैं, जबकि चाइल्ड नोड्स में उनके Parent के संदर्भ हो सकते हैं।  

Tree के सबसे ऊपरी नोड को रूट नोड कहा जाता है, रूट के बाईं ओर नोड लेफ्ट नोड होता है जो लेफ्ट sub-tree के लिए रूट के रूप में कार्य कर सकता है और रूट के दाईं ओर नोड राइट नोड होता है जो सही sub-tree के लिए जड़ के रूप में सेवा कर सकता है।

 

binary tree data structure in hindi
binary tree data structure in hindi

Why Use binary trees in data structure in Hindi?

  •     Binary trees का उपयोग एक पदानुक्रमित क्रम (hierarchical order) में डेटा को स्टोर करने के लिए किया जा सकता है।
  •    arrays and linked lists की तुलना में Tress में Insertion and deletion operation तेज है।
  •     किसी भी संख्या में नोड्स को एक binary tree का उपयोग करके संग्रहीत किया जा सकता है।
  •     Array की तुलना में Linked List और Slower होने पर Trees में Accessing elements तेजी से बढ़ते हैं।


Types of binary trees In Hindi


Binary trees को निम्नानुसार वर्गीकृत किया जा सकता है
  •     Complete binary tree: संभवत: अंतिम स्तर को छोड़कर सभी स्तर पूरी तरह से भरे हुए हैं और अंतिम स्तर के नोड्स को यथासंभव छोड़ दिया गया है।
  •     Full binary tree: binary tree के सभी नोड्स 0 या 2 बच्चों के पास होते हैं।
Types of binary trees In Hindi
Types of binary trees In Hindi
    Perfect binary tree: यह एक Full binary tree है जिसमें सभी नोड्स में लीफ नोड्स के अलावा दो बच्चे होते हैं

 

Applications of binary trees in Hindi

binary trees के आवेदन निम्नलिखित हैं:


Binary Search Tree - कई खोज अनुप्रयोगों में उपयोग किया जाता है जो डेटा, जैसे डेटा को लगातार दिखाता और छिपाता है। उदाहरण के लिए, कसे कई पुस्तकालयों में वस्तुओं को मैप और सेट करें।

Binary Space Partition - यह निर्धारित करने के लिए लगभग किसी भी 3 डी वीडियो गेम में उपयोग किया जाता है कि किन वस्तुओं को प्रदान किया जाना है।

Binary Tries - राउटर टेबल को स्टोर करने के लिए लगभग हर हाई-बैंडविड्थ राउटर में उपयोग किया जाता है।

Syntax Tree - संकलक द्वारा निर्मित और (निहित) भावों को पार्स करने के लिए।

Hash Trees - पी 2 पी कार्यक्रमों और विशेष छवि हस्ताक्षरों में उपयोग किया जाता है, जिसके लिए एक हैश को मान्य करने की आवश्यकता होती है, लेकिन पूरी फ़ाइल उपलब्ध नहीं है।

Heaps - कुशल प्राथमिकता कतारों को लागू करने के लिए उपयोग किया जाता है और ढेर सॉर्ट में भी उपयोग किया जाता है।

Treap - वायरलेस नेटवर्क और मेमोरी आवंटन के लिए यादृच्छिक डेटा संरचना।
T-Tree - हालांकि अधिकांश डेटाबेस ड्राइव पर डेटा को स्टोर करने के लिए बी-ट्री के एक रूप का उपयोग करते हैं, जो डेटाबेस सभी (अधिकांश) डेटा को स्टोर करते हैं वे अक्सर T-Tree का उपयोग करते हैं।

Huffman Coding Tree:- संपीड़न एल्गोरिदम में प्रयुक्त, जैसे। उदाहरण के लिए, .jpeg और .mp3.GGM ट्री फ़ाइल प्रारूप - pseudo-random numbers वाले वृक्ष को उत्पन्न करने के लिए cryptographic applications में उपयोग किए जाते हैं।

Friday, September 4, 2020

Types of data structure in hindi (Linear Data Structure in Hindi,Non-Linear Data Structure)

September 04, 2020 1
Types of data structure in hindi (Linear Data Structure in Hindi,Non-Linear Data Structure)

types of data structure in Hindi

data structure memory में डेटा को व्यवस्थित करने का एक विशेष तरीका है। data structure का मुख्य उद्देश्य  group similar/related items वस्तुओं को एक साथ समूहित करना और उन्हें बंडल करना है, जिससे कार्यक्रम को निष्पादित करना आसान और कुशल हो जाता है। अब हम विभिन्न प्रकार की data structures को देखते हैं।

types of data structure in hindi
types of data structure in hindi


 

data structure को दो श्रेणियों में वर्गीकृत किया गया है।
  •     Linear Data Structure in Hindi
  •     Non-Linear Data Structure in Hindi

Different Linear Data Structures Vs Non-Linear
 Data Structures



अब हम difference between Linear and Non-Linear data structures को देखते हैं।


Data को एक रैखिक फैशन में व्यवस्थित किया जाता है जिसमें तत्व एक के बाद एक जुड़े होते हैं। non-linear data structures में डेटा तत्व पदानुक्रम से संबंधित हैं। सभी डेटा तत्वों को एक बार में पता लगाया जा सकता है, लेकिन एक समय में केवल एक तत्व सीधे पहुंच में आता है। सभी डेटा तत्वों को एक बार में पता नहीं लगाया जा सकता क्योंकि नोड्स क्रमिक रूप से नहीं जाते हैं। linear data structures स्मृति को बेकार कर देती है। स्मृति का कुशल उपयोग। रैखिक डेटा संरचनाओं को लागू करना आसान है। गैर-रैखिक डेटा संरचनाओं का कार्यान्वयन जटिल है। ऐरे, क्यू, स्टैक, लिंक्ड सूची linear data structures हैं। पेड़, ग्राफ non-linear data structures हैं।



अब हम इन Linear and Non-Linear data structures में से प्रत्येक की एक बुनियादी समझ प्राप्त करने का प्रयास करते हैं।

  •     Array समान डेटा प्रकार वाले डेटा आइटम का एक संग्रह है।
  •     एक Linked list नोड्स का एक संग्रह है, जहां प्रत्येक नोड में एक डेटा तत्व और अनुक्रम में अगले नोड का संदर्भ है।
  •     एक Stack एक FILO (First In Last Out) data structure जहां पहले जोड़ा गया तत्व अंतिम हटा दिया जाएगा।
  •     एक Queue एक FILO (First In Last Out) data structure है जहां जोड़ा गया तत्व पहले हटा दिया जाएगा।
  •     Tree नोड्स का एक संग्रह है जहां इन नोड्स को hierarchically रूप से व्यवस्थित किया जाता है और parent-child relationship के संबंध बनाते हैं।
  •     एक Graph एक कोने और किनारों की परिमित संख्या का एक संग्रह है। किनारों को कोने से जोड़ते हैं और इन कोने को जोड़ने वाले कोने के बीच संबंध का प्रतिनिधित्व करते हैं।

Wednesday, August 26, 2020

Array in Hindi and Types of array (One dimensional array in hindi,Multi-dimensional array) etc.

August 26, 2020 0
Array in Hindi and Types of array (One dimensional array in hindi,Multi-dimensional array) etc.
Array एक Linear data structure है, जो contiguous memory locations में संग्रहीत समान  data types वाले डेटा आइटम का एक संग्रह है। पहले आइटम के पते को जानकर हम आसानी से किसी सरणी के सभी items/element तक पहुंच सकते हैं। Array और इसका प्रतिनिधित्व नीचे दिया गया है।

Array in Hindi and Types of array (One dimensional array in hindi,Multi-dimensional array) etc.
Array in Hindi and Types of array (One dimensional array in Hindi,Multi-dimensional array) etc.

  •     Array Index in Hindi: एरे में किसी तत्व के स्थान का एक इंडेक्स होता है, जो तत्व की पहचान करता है। ऐरे इंडेक्स 0 से शुरू होता है।
  •     Array element in Hindi: किसी एरे में संग्रहीत वस्तुओं को एलीमेंट कहा जाता है। तत्वों को इसके सूचकांक के माध्यम से पहुँचा जा सकता है।
  •     Array Length in Hindi: एक सरणी की लंबाई को परिभाषित किया जा सकता है एक सरणी स्टोर कर सकते हैं elements की संख्या के आधार पर। उपरोक्त उदाहरण में, सरणी की लंबाई 6 है जिसका अर्थ है कि यह 6 तत्वों को संग्रहीत कर सकता है।

जब आकार और प्रकार की एक सरणी घोषित की जाती है, तो संकलक data के सभी elements को रखने के लिए पर्याप्त मेमोरी आवंटित करता है।

उदाहरण के लिए, एक सरणी face [10] में 0 से 9 तक शुरू होने वाले index के साथ 10 element होंगे और आकस्मिक रूप से आवंटित मेमोरी (memory allocated contiguously) 20 bytes होगी। compiler केवल सरणी के पहले
byte का पता जानता है। इसके अलावा, पहली byte का पता पूरे एरे के लिए मेमोरी एड्रेस माना जाता है।

सामान्य variable (a1, a2, a3,…) का उपयोग तब किया जा सकता है जब हमारे पास element की एक छोटी संख्या होती है, लेकिन यदि हम बड़ी संख्या में तत्वों को संग्रहीत करना चाहते हैं, तो उन्हें सामान्य
variable के साथ प्रबंधित करना मुश्किल हो जाता है। एक चर नाम के साथ कई elements का प्रतिनिधित्व करना सरणियों का मूल विचार है।
 

Array in Hindi Indexing 0 से क्यों शुरू होता है?


आइए एक उदाहरण लेकर इसे समझने का प्रयास करें। मान लें, हम निम्न तरीके से आकार 10 की एक सरणी घोषित कर सकते हैं।

int [10];

यहाँ अपने आप में एक पॉइंटर है जिसमें एरे के पहले एलिमेंट की मेमोरी लोकेशन है। अब पहले तत्व तक पहुंचने के लिए, हम एक [0] लिखेंगे जो आंतरिक रूप से संकलक द्वारा * (a + 0) के रूप में डिकोड किया जाता है।

उसी तरह, दूसरा तत्व एक [1] या * (a + 1) द्वारा एक्सेस किया जा सकता है। जैसे कि पहले तत्व का पता होता है, इसलिए दूसरे तत्व तक पहुंचने के लिए हमें इसमें 1 जोड़ना होगा। इसीलिए यहाँ हमने * (a +1) लिखा है। एक सरणी में, index पहले तत्व से ऑफसेट का वर्णन करता है, अर्थात पहले तत्व से दूरी।

अब मान लेते हैं कि सरणी अनुक्रमण 0. के बजाय 1 पर शुरू होता है। इस मामले में पहले तत्व तक पहुंचने के लिए, हमें एक [1] लिखना होगा जो आंतरिक रूप से * (a + 1 - 1) के रूप में डिकोड किया जाता है।

यहां देखें कि हमें एक अतिरिक्त ऑपरेशन करना है यानी subtraction by  1. इस
extra operation से प्रोग्राम के बड़े होने पर performance में काफी कमी आएगी। यही कारण है कि इस extra operation से बचने और प्रदर्शन में सुधार करने के लिए, सरणी अनुक्रमण 0 से शुरू होता है और 1 पर नहीं।

 Operations with Array in Hindi


अब जब हम किसी Array के पीछे के मूल विचार को जानते हैं, तो आइए अब विभिन्न ऑपरेशनों पर नज़र डालते हैं, जो एरेज़ पर किए जा सकते हैं।

    Traverse in Array in Hindi -
Array में सभी तत्वों को एक-एक करके प्रिंट करें।
    Insertion - दिए गए सूचकांक में एक तत्व जोड़ता है।
    Deletion - दिए गए सूचकांक में एक तत्व को हटाता है।
    Search - दिए गए सूचकांक या मूल्य का उपयोग करके
Array में एक तत्व खोजता है।
    Update - दिए गए सूचकांक में एक तत्व को अद्यतन करता है।
 



Types of Arrays In Hindi


विभिन्न प्रकार के arrays निम्नानुसार हैं।
  •     One dimensional array in hindi
  •     Multi-dimensional array in Hindi


One dimensional array in Hindi

One dimensional array को single dimensional array भी कहा जाता है जहां तत्वों को अनुक्रमिक क्रम में एक्सेस किया जाएगा। इस प्रकार के Array को कॉलम या रो इंडेक्स के सबस्क्रिप्ट द्वारा एक्सेस किया जाएगा।

Multi-dimensional array in Hindi

जब निर्दिष्ट आयामों की संख्या एक से अधिक होती है, तो इसे Multi-dimensional array कहा जाता है। Multi-dimensional array  में 2D arrays and 3D arrays शामिल हैं।

2-D array types of array in hindi
2-D array types of array in Hindi
पंक्ति और कॉलम इंडेक्स की सबस्क्रिप्ट का उपयोग करके एक द्वि-आयामी सरणी तक पहुँचा जाएगा। द्वि-आयामी सरणी का पता लगाने के लिए, पंक्तियों और स्तंभों के मूल्य पर विचार किया जाएगा। दो-आयामी सरणी face [3] [4] में, पहला index rows की संख्या को निर्दिष्ट करता है और दूसरा index columns की संख्या को निर्दिष्ट करता है और Array 12 elements (3 * 4) को पकड़ सकता है।

Array in Hindi and its types
Array in Hindi

इसी तरह, three dimensions array में, three dimensions होंगे। Array face [5] [10] [१५] में (५० element (५ * १० * १५) हो सकते हैं।