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

जावास्क्रिप्ट एवीएल ट्री में बैलेंस फैक्टर की गणना करना


AVL ट्री बाएँ और दाएँ उप-वृक्षों की ऊँचाई की जाँच करता है और आश्वासन देता है कि अंतर 1 से अधिक नहीं है। इस अंतर को बैलेंस फैक्टर कहा जाता है।

उदाहरण के लिए, निम्नलिखित पेड़ों में पहला पेड़ संतुलित है और अगले दो पेड़ संतुलित नहीं हैं -

जावास्क्रिप्ट एवीएल ट्री में बैलेंस फैक्टर की गणना करना

दूसरे पेड़ में, सी के बाएं उपट्री की ऊंचाई 2 है और दाएं उपट्री की ऊंचाई 0 है, इसलिए अंतर 2 है। तीसरे पेड़ में, ए के दाएं उपट्री की ऊंचाई 2 है और बाएं गायब है, इसलिए यह 0 है , और अंतर फिर से 2 है। AVL ट्री अंतर (बैलेंस फैक्टर) को केवल 1 होने की अनुमति देता है।

BalanceFactor = height(left-sutree) − height(right-sutree)

यदि बाएँ और दाएँ उप-वृक्षों की ऊँचाई का अंतर 1 से अधिक है, तो पेड़ को कुछ रोटेशन तकनीकों का उपयोग करके संतुलित किया जाता है।

आइए हम इस पद्धति को परिभाषित करें और साथ ही कक्षा को इनिशियलाइज़ करें -

उदाहरण

class AVLTree {
   constructor() {
      // Initialize a root element to null.
      this.root = null;
   }
   getBalanceFactor(root) {
      return this.getHeight(root.left) - this.getHeight(root.right);
   }
   getHeight(root) {
      let height = 0;
      if (root === null) {
         height = -1;
      } else {
         height = Math.max(this.getHeight(root.left), this.getHeight(root.right)) + 1;
      }
      return height;
   }
}
AVLTree.prototype.Node = class {
   constructor(data, left = null, right = null) {
      this.data = data;
      this.left = left;
      this.right = right;
   }
};

  1. जावास्क्रिप्ट एवीएल ट्री में बैलेंस फैक्टर की गणना करना

    AVL ट्री बाएँ और दाएँ उप-वृक्षों की ऊँचाई की जाँच करता है और आश्वासन देता है कि अंतर 1 से अधिक नहीं है। इस अंतर को बैलेंस फैक्टर कहा जाता है। उदाहरण के लिए, निम्नलिखित पेड़ों में पहला पेड़ संतुलित है और अगले दो पेड़ संतुलित नहीं हैं - दूसरे पेड़ में, सी के बाएं उपट्री की ऊंचाई 2 है और दाएं उपट्

  1. जावास्क्रिप्ट में त्रिभुज की तीन भुजाओं का उपयोग करके उसके क्षेत्रफल की गणना करना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो त्रिभुज के तीन पक्षों को लेता है और इसके क्षेत्र की गणना करने के लिए हेरॉन के सूत्र का उपयोग करता है। उदाहरण निम्नलिखित कोड है - const s1 = 10; const s2 = 8; const s3 = 7; const findArea = (s1, s2, s3) => {    const arr = [];   &nb

  1. जावास्क्रिप्ट का उपयोग करके बाइनरी में समता बिट की गणना और जोड़ना

    पैरिटी बिट एक पैरिटी बिट, या चेक बिट, बिट्स की एक स्ट्रिंग में थोड़ा जोड़ा जाता है ताकि यह सुनिश्चित हो सके कि स्ट्रिंग में 1-बिट्स की कुल संख्या सम या विषम है। समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता होती है जो दो पैरामीटर लेता है, एक वांछित समता (हमेशा सम या विषम) होता है, और दूसर