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

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


AVL ट्री लेफ्ट और राइट सब-ट्रीज़ की ऊंचाई की जांच करता है और सुनिश्चित करता है कि अंतर 1 से अधिक न हो। इस अंतर को बैलेंस फैक्टर कहा जाता है।

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

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

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

बैलेंसफैक्टर = ऊंचाई(लेफ्ट-सबट्री) - ऊंचाई(राइट-सबट्री)

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

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

उदाहरण

class AVLTree {
    constructor() {
        // रूट एलिमेंट को नल से इनिशियलाइज़ करें।
        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 ट्री में बैलेंस फैक्टर की गणना जावास्क्रिप्ट AVL ट्री में बैलेंस फैक्टर की गणना

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

  1. - जावास्क्रिप्ट में हेरॉन के सूत्र का उपयोग करके त्रिभुज का क्षेत्रफल निकालना

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

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

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