-
जावास्क्रिप्ट डीएफएस का उपयोग करके टोपोलॉजिकल सॉर्टिंग
एक निर्देशित ग्राफ का एक टोपोलॉजिकल सॉर्ट या टोपोलॉजिकल ऑर्डरिंग इसके शीर्षों का एक रैखिक क्रम है जैसे कि प्रत्येक निर्देशित किनारे के लिए यूवी से वर्टेक्स यू से वर्टेक्स वी तक, यू ऑर्डरिंग में वी से पहले आता है। यह केवल निर्देशित ग्राफ़ में समझ में आता है। ऐसे कई स्थान हैं जहां टोपोलॉजिकल सॉर्ट बह
-
जावास्क्रिप्ट में सबसे छोटा पथ एल्गोरिदम
ग्राफ सिद्धांत में, सबसे छोटी पथ समस्या एक ग्राफ में दो शीर्षों (या नोड्स) के बीच पथ खोजने की समस्या है जैसे कि इसके घटक किनारों के भार का योग कम से कम हो। यहां हमें अपने ऐड एज को संशोधित करने और किनारों पर वज़न जोड़ने की अनुमति देने के लिए निर्देशित विधियों को जोड़ने की आवश्यकता है। आइए देखें कि
-
जावास्क्रिप्ट में दिज्क्स्ट्रा का एल्गोरिथ्म
दिज्क्स्ट्रा का एल्गोरिथ्म एक भारित ग्राफ में नोड्स के बीच सबसे छोटा पथ खोजने के लिए एक एल्गोरिथ्म है। हम ग्राफ़ बनाते समय किनारों पर वज़न जोड़ने के लिए नए ऐडएडज और एडडायरेक्टेडएडज विधियों का उपयोग करेंगे। आइए देखें कि यह एल्गोरिथम कैसे काम करता है - दूरी संग्रह बनाएं और स्रोत नोड को छोड़कर सभी कोन
-
जावास्क्रिप्ट में फ़्लॉइड-वॉर्शल एल्गोरिथम
जिकस्ट्रा के एल्गोरिथम का उपयोग एक नोड से अन्य सभी नोड्स तक के सबसे छोटे पथ की दूरी/पथ को खोजने के लिए किया जाता है। ऐसे मामले हैं जहां हमें सभी नोड्स से अन्य सभी नोड्स के लिए सबसे छोटा रास्ता खोजने की आवश्यकता है। यह वह जगह है जहां सभी जोड़े सबसे छोटा पथ एल्गोरिदम काम में आते हैं। सबसे अधिक इस्तेमा
-
जावास्क्रिप्ट में ट्री ट्रैवर्सल
ट्री ट्रैवर्सल एक ट्री डेटा संरचना में प्रत्येक नोड पर जाने की प्रक्रिया को संदर्भित करता है, ठीक एक बार। इस तरह के ट्रैवर्सल को उस क्रम से वर्गीकृत किया जाता है जिसमें नोड्स का दौरा किया जाता है।
-
जावास्क्रिप्ट ट्री में क्रम में ट्रैवर्सल
इस ट्रैवर्सल मेथड में, पहले लेफ्ट सबट्री, फिर रूट और बाद में राइट सब-ट्री का दौरा किया जाता है। हमें हमेशा याद रखना चाहिए कि प्रत्येक नोड स्वयं एक सबट्री का प्रतिनिधित्व कर सकता है। यदि बाइनरी ट्री को क्रम में ट्रेस किया जाता है , आउटपुट आरोही क्रम में क्रमबद्ध कुंजी मान उत्पन्न करेगा। हम A, . स
-
जावास्क्रिप्ट ट्री में प्री-ऑर्डर ट्रैवर्सल
इस ट्रैवर्सल मेथड में, रूट नोड को पहले देखा जाता है, फिर लेफ्ट सबट्री और अंत में राइट सबट्री पर। हम A, . से शुरू करते हैं और अग्रिम-आदेश ट्रैवर्सल के बाद, हम सबसे पहले A . पर जाते हैं स्वयं और फिर इसके बाएँ उपप्रकार B पर जाएँ। बी पूर्व-आदेश भी पार किया जाता है। प्रक्रिया तब तक चलती है जब तक सभ
-
जावास्क्रिप्ट ट्री में पोस्ट-ऑर्डर ट्रैवर्सल
इस ट्रैवर्सल विधि में, रूट नोड को अंतिम बार देखा जाता है, इसलिए नाम। सबसे पहले, हम बाएं सबट्री, फिर राइट सबट्री और अंत में रूट नोड को पार करते हैं। हम A, . से शुरू करते हैं और पोस्ट-ऑर्डर ट्रैवर्सल के बाद, हम पहले बाएं सबट्री पर जाते हैंB. बी पोस्ट-ऑर्डर भी किया जाता है। प्रक्रिया तब तक चलती है ज
-
जावास्क्रिप्ट ट्री में एक नोड को हटाना
यदि आप दूर से देखें तो पेड़ से नोड को हटाना काफी जटिल है। नोड को हटाते समय विचार करने के लिए 3 मामले हैं। निम्नलिखित फ़ंक्शन की टिप्पणी में इनका उल्लेख किया गया है। जैसा कि हम पहले करते रहे हैं, हम कक्षा में एक विधि और पुनरावर्ती कॉल करने के लिए एक सहायक बनाएंगे। कक्षा पद्धति deleteNode(key) {// यदि
-
जावास्क्रिप्ट में बाइनरी सर्च ट्री क्लास
यहाँ बाइनरीसर्च ट्री क्लास का पूरा कार्यान्वयन है - उदाहरण class BinarySearchTree { कंस्ट्रक्टर () {// एक रूट एलिमेंट को अशक्त करने के लिए इनिशियलाइज़ करें। यह जड़ =शून्य; } insertIter (डेटा) { नोड =नया यह दें। नोड (डेटा); // जांचें कि क्या पेड़ खाली है अगर (this.root ===null) {// पहले तत्व के रूप म
-
जावास्क्रिप्ट में AVL ट्री
एक AVL ट्री (आविष्कारक एडेलसन-वेल्स्की और लैंडिस के नाम पर) एक स्व-संतुलन बाइनरी सर्च ट्री है। एक स्व-संतुलन वाला पेड़ एक ऐसा पेड़ है जो अपने उप-वृक्षों के भीतर कुछ घूर्णन करता है ताकि इसे बाएं और दाएं दोनों तरफ संतुलित किया जा सके। ये पेड़ उन मामलों में विशेष रूप से सहायक होते हैं जहां सम्मिलन के
-
जावास्क्रिप्ट एवीएल ट्री में बैलेंस फैक्टर की गणना करना
AVL ट्री बाएँ और दाएँ उप-वृक्षों की ऊँचाई की जाँच करता है और आश्वासन देता है कि अंतर 1 से अधिक नहीं है। इस अंतर को बैलेंस फैक्टर कहा जाता है। उदाहरण के लिए, निम्नलिखित पेड़ों में पहला पेड़ संतुलित है और अगले दो पेड़ संतुलित नहीं हैं - दूसरे पेड़ में, सी के बाएं उपट्री की ऊंचाई 2 है और दाएं उपट्
-
जावास्क्रिप्ट में एवीएल रोटेशन
स्वयं को संतुलित करने के लिए, एक AVL वृक्ष निम्नलिखित चार प्रकार के घूर्णन कर सकता है - बाएं घुमाव राइट रोटेशन बाएं-दाएं घुमाव दाएं-बाएं घुमाव पहले दो रोटेशन सिंगल रोटेशन हैं और अगले दो रोटेशन डबल रोटेशन हैं। एक असंतुलित पेड़ के लिए हमें कम से कम 2 ऊंचाई वाले पेड़ की जरूरत होती है। इस साधारण पेड़
-
जावास्क्रिप्ट एवीएल ट्री में नोड डालना
हम सीख सकते हैं कि हम AVL ट्री में नोड कैसे डाल सकते हैं। AVL ट्री में इंसर्शन BST के समान ही होते हैं, जब भी हम ट्री को नीचे ले जाते हैं तो इंसर्ट के दौरान हमें बस एक अतिरिक्त स्टेप को बैलेंस ट्री कहा जाता है। इसके लिए संतुलन कारक की गणना करने की आवश्यकता होती है जिसे हमने पहले ही देखा था। और कॉन्
-
जावास्क्रिप्ट में दो हैश टेबल में शामिल होना
कभी-कभी हमें जॉइन फंक्शन का उपयोग करके कंटेनरों को एक साथ संयोजित करने और एक नया कंटेनर प्राप्त करने की आवश्यकता होती है। हम एक स्टैटिक जॉइन मेथड लिखेंगे जो 2 हैशटेबल्स लेता है और सभी वैल्यूज के साथ एक नया हैशटेबल बनाता है। सादगी के लिए, यदि दोनों में कोई कुंजियाँ मौजूद हैं, तो हम दूसरे वाले के मानो
-
जावास्क्रिप्ट में हैशटेबल क्लास
यहां हैशटेबल वर्ग का पूरा कार्यान्वयन है। निश्चित रूप से अधिक कुशल डेटा संरचनाओं और टकराव समाधान एल्गोरिदम का उपयोग करके इसे बेहतर बनाया जा सकता है। उदाहरण class HashTable { constructor() { this.container = []; // Populate the container with
-
जावास्क्रिप्ट में वृक्ष डेटा संरचना
पेड़ संगठन पदानुक्रम चार्ट, फ़ाइल सिस्टम इत्यादि जैसे पदानुक्रमित संरचनाओं का प्रतिनिधित्व करता है। इसे और अधिक औपचारिक रूप से रखने के लिए, एक पेड़ को नोड्स के संग्रह के रूप में पुनरावर्ती रूप से (स्थानीय रूप से) परिभाषित किया जा सकता है (एक से शुरू रूट नोड), जहां प्रत्येक नोड एक डेटा संरचना है जिसम
-
जावास्क्रिप्ट में बाइनरी ट्री
बाइनरी ट्री एक विशेष डेटा संरचना है जिसका उपयोग डेटा संग्रहण उद्देश्यों के लिए किया जाता है। एक बाइनरी ट्री की एक विशेष शर्त होती है कि प्रत्येक नोड में अधिकतम दो बच्चे हो सकते हैं। एक बाइनरी ट्री में एक क्रमबद्ध सरणी और एक लिंक की गई सूची दोनों के लाभ होते हैं क्योंकि खोज एक क्रमबद्ध सरणी में जितनी
-
जावास्क्रिप्ट में बाइनरी सर्च ट्री
एक बाइनरी सर्च ट्री एक विशेष व्यवहार प्रदर्शित करता है। एक नोड के बाएँ बच्चे का मान उसके माता-पिता के मान से कम होना चाहिए और नोड के दाएँ बच्चे का मान उसके मूल मान से अधिक होना चाहिए। हम इस खंड में पेड़ों पर ज्यादातर ऐसे पेड़ों पर ध्यान देंगे। बाइनरी सर्च ट्री पर ऑपरेशन हम बाइनरी सर्च ट्री पर नि
-
जावास्क्रिप्ट में नोड
पेड़ में प्रत्येक तत्व एक नोड है। एक बाइनरी ट्री को परिभाषित करने के लिए आगे बढ़ने से पहले हमें एक नोड को परिभाषित करने की आवश्यकता होती है क्योंकि एक ट्री में नोड्स होते हैं। हम एक बहुत ही सरल नोड परिभाषा बनाएंगे जिसमें 3 गुण होंगे, अर्थात्:बाएँ, दाएँ और डेटा। बाएं - यह इस नोड के बाएं बच्चे का स