Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

जावास्क्रिप्ट एवीएल ट्री में नोड डालना


हम सीख सकते हैं कि हम AVL ट्री में नोड कैसे डाल सकते हैं। AVL ट्री में इंसर्शन BST के समान ही होते हैं, जब भी हम ट्री को नीचे ले जाते हैं तो इंसर्ट के दौरान हमें बस एक अतिरिक्त स्टेप को बैलेंस ट्री कहा जाता है।

इसके लिए संतुलन कारक की गणना करने की आवश्यकता होती है जिसे हमने पहले ही देखा था। और कॉन्फ़िगरेशन के अनुसार, हमें उपयुक्त रोटेशन विधियों को कॉल करने की आवश्यकता है। उपरोक्त स्पष्टीकरण की सहायता से ये काफी सहज हैं।

हम पुनरावर्ती कॉल के लिए फिर से एक वर्ग विधि और एक सहायक फ़ंक्शन बनाते हैं -

उदाहरण

<पूर्व>सम्मिलित करें (डेटा) { नोड =नया यह दें। नोड (डेटा); // जांचें कि क्या पेड़ खाली है अगर (this.root ===null) {// पहले तत्व के रूप में डालें this.root =node; } और {insertHelper (यह, यह। रूट, नोड); }}

सहायक विधि

फ़ंक्शन इंसर्ट हेल्पर (स्व, रूट, नोड) {अगर (रूट ===नल) {रूट =नोड; } और अगर (नोड.डेटा <रूट.डेटा) {// बाएं जाएं! रूट.लेफ्ट =इन्सर्ट हेल्पर (सेल्फ, रूट.लेफ्ट, नोड); // बैलेंस फैक्टर की जांच करें और उचित रोटेशन करें यदि (root.left!==null &&self.getBalanceFactor(root)> 1) {if (node.data> root.left.data) { root =रोटेशनएलएल (रूट); } और {रूट =रोटेशनएलआर (रूट); } } } और अगर (नोड.डेटा> रूट.डेटा) {// राइट गो! जड़। राइट =इंसर्ट हेल्पर (स्वयं, रूट। राइट, नोड); // बैलेंस फैक्टर की जांच करें और उचित रोटेशन करें यदि (root.right!==null &&self.getBalanceFactor(root) <-1) {if (node.data> root.right.data) { रूट =रोटेशनआरआर (रूट); } और {रूट =रोटेशनआरएल (रूट); } } } रूट लौटाएं;}

आप -

. का उपयोग करके इसका परीक्षण कर सकते हैं

उदाहरण

 AVL =नया AVLTree (); AVL.insert (10); AVL.insert (15); AVL.insert (5); AVL.insert (50); AVL.insert (3); AVL.insert( 7);AVL.insert(12);AVL.inOrder();

आउटपुट

यह आउटपुट देगा -

35710121550

  1. जावास्क्रिप्ट में प्राइम का एल्गोरिदम

    Prims algorithm एक लालची एल्गोरिथम है जो भारित अप्रत्यक्ष ग्राफ के लिए न्यूनतम फैले हुए पेड़ को ढूंढता है। यह किनारों का एक सबसेट ढूंढता है जो एक पेड़ बनाता है जिसमें प्रत्येक शीर्ष शामिल होता है, जहां पेड़ के सभी किनारों का कुल वजन कम से कम होता है। एल्गोरिथम इस पेड़ को एक बार में एक शीर्ष बनाकर,

  1. डेटा संरचनाओं में बाइनरी ट्री ट्रैवर्सल

    इस खंड में हम बाइनरी सर्च ट्री में मौजूद ट्रैवर्स कीज़ के लिए अलग-अलग ट्रैवर्सल एल्गोरिदम देखेंगे। ये ट्रैवर्सल इनऑर्डर ट्रैवर्सल, प्रीऑर्डर ट्रैवर्सल, पोस्टऑर्डर ट्रैवर्सल और लेवल ऑर्डर ट्रैवर्सल हैं। मान लीजिए हमारे पास एक ऐसा पेड़ है - इनऑर्डर ट्रैवर्सल अनुक्रम इस तरह होगा - 5 8 10 15 16 20 2

  1. पायथन में एक एन-आरी पेड़ की जड़ खोजने का कार्यक्रम

    मान लीजिए, हमें एक सरणी में n-ary पेड़ के नोड दिए गए हैं। हमें पेड़ के रूट नोड को फिर से ढूंढकर वापस करना है। पूर्ण वृक्ष को पूर्व-आदेश संकेतन में लौटाए गए नोड से प्रदर्शित किया जाना है। तो, अगर इनपुट पसंद है तो आउटपुट होगा [14, 27, 32, 42, 56, 65] हम पेड़ के पूर्व-आदेश ट्रैवर्सल को प्रदर्शित क