-
डेटा संरचना में ऊंचाई-पक्षपाती लेफ्टिस्ट ट्री (Height-Biased Leftist Trees)
यहाँ हम देखेंगे कि हाइट बैलेंस्ड लेफ्टिस्ट ट्री (Height Balanced Leftist Trees - HBLT) क्या है। एक बाइनरी ट्री पर विचार करें जहां एक विशेष नोड, जिसे बाहरी नोड (external node) कहा जाता है, प्रत्येक खाली उपट्री को प्रतिस्थापित करता है। अन्य सभी नोड्स को आंतरिक नोड्स (Internal Nodes) कहा जाता है। जब क
-
डेटा संरचना में मैक्स HBLT में सम्मिलन (Insertion Into a Max HBLT)
मैक्स HBLT में सम्मिलन, मैक्स मेल्ड (Max Meld) संक्रिया का उपयोग करके किया जा सकता है। यह संक्रिया दो मैक्स HBLT को एक मैक्स HBLT में मर्ज करने के लिए उपयोग की जाती है। मान लीजिए, हम x को एक मैक्स HBLT में सम्मिलित करना चाहते हैं, जिसे H कहा जाता है। हम x का उपयोग करके एक छोटा HBLT बनाएंगे, फिर इसे
-
डेटा संरचना में मैक्स HBLT से अधिकतम तत्व विलोपन (Deletion of Max Element from a Max HBLT)
मैक्स HBLT में, रूट पर अधिकतम तत्व होता है। यदि रूट हटा दिया जाता है, तो दो मैक्स HBLT, यानी बाएं और दाएं अलग हो जाएंगे। इन दो मैक्स HBLT को फिर से एक साथ मेल्ड करके, हम उन्हें एक में मर्ज कर सकते हैं। इसलिए मेल्डिंग के बाद सभी तत्व वहां होंगे, हटाए गए को छोड़कर।
-
डेटा संरचना में दो मैक्स HBLT का मेल्डिंग (Melding Two Max HBLTs)
मेल्ड रणनीति पुनरावर्तन (recursion) का उपयोग करके आसानी से की जाती है। मान लीजिए A और B दो HBLT हैं, जिन्हें मेल्ड किया जाएगा। यदि उनमें से एक खाली है, तो बस दूसरे को अंतिम परिणाम बना दें। यदि कोई खाली HBLT नहीं है, तो हमें दोनों रूट में तत्वों की तुलना करनी होगी। बड़े तत्व वाली जड़ मेल्डेड HBLT की
-
डेटा संरचना में एकल सरणी में एकाधिक सूचियाँ (Multiple Lists in a Single Array)
सरणी प्रतिनिधित्व मूल रूप से स्थान की बर्बादी है जब यह डेटा संग्रहीत कर रहा है जो समय के साथ बदल जाएगा। कुछ डेटा संग्रहीत करने के लिए, हम कुछ स्थान आवंटित करते हैं जो एक सरणी में कई मानों को संग्रहीत करने के लिए पर्याप्त बड़ा हो। मान लीजिए हम सरणी दोहरीकरण मानदंड (array doubling criteria) का उपयोग
-
डेटा संरचना में मैक्स HBLT से मनमाना तत्व विलोपन (Deletion of Arbitrary Element from a Max HBLT)
मैक्स या मिन HBLT से मनमाने नोड्स को हटाना प्राथमिकता कतार या HBLT के लिए मानक संक्रिया नहीं है। यदि हम HBLT से एक नोड K को हटाना चाहते हैं, तो हमें निम्न नियमों का पालन करना होगा: नोड K पर रूटेड उपट्री को ट्री से अलग करें, और इसे नोड K की उपट्री के मेल्ड से बदलें। K से रूट तक के पथ पर s मानों को
-
डेटा संरचना में वजन-पक्षपाती लेफ्टिस्ट ट्री (Weight-Biased Leftist Trees)
यहाँ हम लेफ्टिस्ट ट्री (Leftist Tree) का एक और प्रकार देखेंगे। यहाँ हम रूट से बाहरी नोड तक के सबसे छोटे पथ की लंबाई के बजाय, एक उपट्री में नोड्स की संख्या पर विचार करेंगे। यहाँ हम नोड x के वजन w(x) को, रूट x वाले उपट्री में आंतरिक नोड्स की संख्या के रूप में परिभाषित करेंगे। यदि x एक बाहरी नोड है, त
-
डेटा संरचना में मैक्स WBLT संक्रियाएँ (Max WBLT Operations)
यहाँ हम देखेंगे कि विभिन्न मैक्स-WBLT संक्रियाएँ क्या हैं। HBLT में सम्मिलन, विलोपन और आरंभीकरण जैसे विभिन्न संक्रियाएँ होती हैं। वे WBLT के समान ही हैं। हालांकि, मेल्ड (meld) संक्रिया को एक ही शीर्ष-से-नीचे (top-to-bottom) पास में किया जा सकता है। WBLT के लिए एकल पास मेल्ड संक्रिया संभव है। क्यों
-
डेटा संरचना में रॉबिन-हुड हैशिंग (Robin-Hood Hashing)
इस अनुभाग में हम देखेंगे कि रॉबिन-हुड हैशिंग योजना (Robin-Hood Hashing) क्या है। यह हैशिंग ओपन एड्रेसिंग (open addressing) की तकनीकों में से एक है। यह निष्पक्ष टकराव समाधान रणनीति का उपयोग करके तत्व के खोज समय को बराबर करने का प्रयास करती है। जब हम सम्मिलित करने का प्रयास कर रहे होते हैं, यदि हम तत
-
डेटा संरचना में शब्दकोश के रूप में बाइनरी ट्री (Binary Trees as Dictionaries)
जब हम सार डेटा प्रकार डिक्शनरी (Dictionary) को लागू करने का प्रयास करते हैं, तो नोड मानों से जुड़ा होता है। एक डिक्शनरी मूल रूप से कुंजियों का एक समुच्चय है, जिसे पूर्ण क्रम (total ordering) से लिए गए तत्व होना चाहिए। अतिरिक्त जानकारी हो सकती है, जो प्रत्येक कुंजी से जुड़ी होती है, लेकिन यह किसी भी
-
डेटा संरचना में मर्ज एल्गोरिदम (Merge Algorithms)
मर्ज एल्गोरिदम का उपयोग दो क्रमबद्ध सूचियों को एक सूची में मर्ज करने के लिए किया जाता है। इस एल्गोरिदम का उपयोग विभिन्न मामलों में किया जाता है। यदि हम मर्ज सॉर्ट करना चाहते हैं, तो हमें क्रमबद्ध सूचियों को बड़ी सूचियों में मर्ज करने की आवश्यकता होती है। दृष्टिकोण सरल है। हम दो सूचियाँ लेते हैं, द
-
डेटा संरचना में B-ट्री (The B-tree)
यहाँ हम देखेंगे कि B-ट्री (B-Trees) क्या हैं। B-ट्री विशेष m-मार्ग खोज ट्री (m-way search tree) हैं। इनका व्यापक रूप से डिस्क एक्सेस (disc access) के लिए उपयोग किया जा सकता है। क्रम m का B-ट्री, अधिकतम m-1 कुंजियाँ और m बच्चे रख सकता है। यह एक ही नोड में बड़ी संख्या में तत्वों को संग्रहीत कर सकता ह
-
डेटा संरचना में R-ट्री (R-trees)
यहाँ हम R-ट्री (R-Trees) डेटा संरचना देखेंगे। R-ट्री का उपयोग विशेष डेटा इंडेक्स को कुशलतापूर्वक संग्रहीत करने के लिए किया जाता है। यह संरचना विशेष डेटा क्वेरी और भंडारण को रखने के लिए बहुत उपयोगी है। R-ट्री के कुछ वास्तविक जीवन अनुप्रयोग हैं: बहुआयामी जानकारी इंडेक्स करना गेम डेटा संभालना भू-स्था
-
डेटा संरचना में रेड-ब्लैक ट्री (Red-Black Trees)
इस अनुभाग में हम देखेंगे कि रेड-ब्लैक ट्री (Red-Black Tree) क्या है। रेड-ब्लैक ट्री स्व-संतुलन बाइनरी खोज ट्री (self-balancing binary search tree) हैं। प्रत्येक नोड के लिए कुछ शर्तें हैं। ये नीचे जैसी हैं: प्रत्येक नोड का एक रंग होता है। जो या तो लाल (Red) या काला (Black) होता है रूट हमेशा काला हो
-
डेटा संरचना में उपसर्ग और पश्चसर्ग व्यंजक (Prefix and Postfix Expressions)
अंकगणितीय व्यंजक लिखने के तरीके को संकेतन (notation) के रूप में जाना जाता है। एक अंकगणितीय व्यंजक को तीन अलग-अलग लेकिन समतुल्य संकेतनों में लिखा जा सकता है, यानी व्यंजक के सार या आउटपुट को बदले बिना। ये संकेतन हैं: मध्यसर्ग (Infix) उपसर्ग (Prefix) पश्चसर्ग (Postfix) मध्यसर्ग संकेतन सामान्य संकेत
-
डेटा संरचना में टूर्नामेंट ट्री, विजेता ट्री और हारने वाला ट्री (Tournament, Winner, Loser Trees)
यहाँ हम टूर्नामेंट ट्री (Tournament Trees), विजेता ट्री (Winner Trees) और हारने वाला ट्री (Loser Trees) देखेंगे। टूर्नामेंट ट्री n बाहरी नोड्स और n-1 आंतरिक नोड्स के साथ एक पूर्ण बाइनरी ट्री है। बाहरी नोड्स खिलाड़ियों (players) को दर्शाते हैं, और आंतरिक नोड्स दो खिलाड़ियों के बीच मैच के विजेता को द
-
डेटा संरचना में अनरूटेड बाइनरी ट्री (Unrooted Binary Tree)
यहाँ हम देखेंगे कि अनरूटेड बाइनरी ट्री (Unrooted Binary Tree) क्या है। ये ट्री बिना चक्र के जुड़े हुए अविदिश ग्राफ (connected undirected graph) हैं। एक पड़ोसी वाले शीर्ष ट्री के पत्ते (leaves) हैं। शेष शीर्ष आंतरिक नोड्स (internal nodes) हैं। शीर्ष की डिग्री उसके पड़ोसियों की संख्या है। एक से अधिक
-
डेटा संरचना में रूटेड बनाम अनरूटेड ट्री (Rooted vs Unrooted Trees)
इस अनुभाग में हम देखेंगे कि रूटेड (Rooted) और अनरूटेड (Unrooted) ट्री के बीच क्या अंतर हैं। पहले हम रूटेड और अनरूटेड ट्री के कुछ उदाहरण देखेंगे। रूटेड ट्री का उदाहरण अनरूटेड ट्री का उदाहरण रूटेड और अनरूटेड ट्री के बीच मूल अंतर एक रूटेड ट्री में, वंशजों वाला प्रत्येक नोड वंशजों के अनुमानित सबसे
-
डेटा संरचना में सार्वभौमिक हैशिंग (Universal Hashing)
किसी भी हैश फ़ंक्शन के लिए हम कह सकते हैं कि यदि टेबल आकार m, यूनिवर्स आकार u से बहुत छोटा है, तो किसी भी हैश फ़ंक्शन h के लिए, U का कुछ बड़ा उपसमुच्चय होता है जिसका हैश मान समान होता है। इस समस्या से छुटकारा पाने के लिए, हमें हैश फ़ंक्शन का एक समुच्चय चाहिए, जिसमें से हम कोई भी एक चुन सकें जो S क
-
डेटा संरचना में चेनिंग के साथ हैशिंग (Hashing with Chaining)
इस अनुभाग में हम देखेंगे कि चेनिंग (Chaining) के साथ हैशिंग क्या है। चेनिंग टकराव समाधान (collision resolution) की एक तकनीक है। हम टकराव से बच नहीं सकते, लेकिन हम टकराव को कम करने की कोशिश कर सकते हैं, और एक ही हैश मान के लिए कई तत्वों को संग्रहीत करने का प्रयास कर सकते हैं। इस तकनीक में मान लीजिए