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

C++ में रिकर्सन का उपयोग करके ट्री का आकार गणना करने का प्रोग्राम


इस समस्या में, हमें एक ट्री दिया गया है और हमारा कार्य रिकर्सन का उपयोग करके ट्री का आकार गणना करने के लिए एक प्रोग्राम बनाना है।

ट्री का आकार ट्री में मौजूद नोड्स की कुल संख्या है।

आइए एक उदाहरण से समस्या को समझते हैं,

C++ में रिकर्सन का उपयोग करके ट्री का आकार गणना करने का प्रोग्राम


उपरोक्त ट्री का आकार 5 है।

ट्री का आकार खोजने के लिए, हमें लेफ्ट सबट्री और राइट सबट्री के आकार को जोड़ना होगा और फिर इसे 1 से बढ़ाना होगा। रिकर्सिव फंक्शन को ट्री के लेफ्ट और राइट दोनों सबट्री के लिए कॉल किया जाएगा। और यदि कोई सबट्री नहीं मिलती तो 0 वापस करें।

उपरोक्त उदाहरण को इस विधि से हल करना

ट्री का आकार खोजने के लिए,

size(3) = size(5) + size(7) + 1

size(3) = (size(1) + size(9) + 1) + 1 + 1

size(3) = (1 + 1 + 1) + 1 + 1

size(3) = 5

हमारे समाधान के कार्य को दर्शाने वाला प्रोग्राम,

उदाहरण

#include <iostream>
using namespace std;

class node {
public:
    int data;
    node* left;
    node* right;
};

node* insertNode(int data) {
    node* Node = new node();
    Node->data = data;
    Node->left = NULL;
    Node->right = NULL;
    return(Node);
}

int findSize(node* node) {
    if (node == NULL)
        return 0;
    else
        return(findSize(node->left) + 1 + findSize(node->right));
}

int main() {
    node *root = insertNode(6);
    root->left = insertNode(3);
    root->right = insertNode(7);
    root->left->left = insertNode(1);
    root->left->right = insertNode(5);
    root->right->left = insertNode(2);
    cout << "The size of the given tree is " << findSize(root);
    return 0;
}

आउटपुट

The size of the given tree is 6
  1. C++ में ट्री की अधिकतम गहराई या ऊंचाई खोजने का प्रोग्राम C++ में ट्री की अधिकतम गहराई या ऊंचाई खोजने का प्रोग्राम

    इस समस्या में, हमें एक बाइनरी ट्री दिया गया है। हमारा कार्य दी गई ट्री की अधिकतम गहराई या ऊंचाई खोजने के लिए एक प्रोग्राम लिखना है। आइए एक उदाहरण से समस्या को समझते हैं, ट्री की ऊंचाई 3 है। ट्री की अधिकतम ऊंचाई खोजने के लिए, हम उसके लेफ्ट और राइट सबट्री की ऊंचाई की जांच करेंगे और दोनों के अधिकत

  1. C++ प्रोग्राम: दोहरा समाकलन (Double Integration) की गणना C++ प्रोग्राम: दोहरा समाकलन (Double Integration) की गणना

    हमें चर x की निचली सीमा, चर x की ऊपरी सीमा, चर y की निचली सीमा, चर y की ऊपरी सीमा, x के लिए संबंधित चरण और y के लिए संबंधित चरण दिए गए हैं। कार्य दोहरा समाकलन उत्पन्न करना और परिणाम प्रदर्शित करना है। उदाहरण Input: steps for x = 1.2, steps for y = 0.54 lower limit of x = 1.3, upper limit of

  1. C++ में AVL ट्री को लागू करना C++ में AVL ट्री को लागू करना

    AVL ट्री एक सेल्फ-बैलेंसिंग बाइनरी सर्च ट्री है जहां सभी नोड्स के लिए बाएं और दाएं सबट्री की ऊंचाई का अंतर एक से अधिक नहीं हो सकता।ट्री रोटेशन एक ऑपरेशन है जो AVL ट्री पर एलिमेंट्स के क्रम में हस्तक्षेप किए बिना स्ट्रक्चर को बदलता है। यह ट्री में एक नोड को ऊपर ले जाता है और एक नोड को नीचे। इसका उपयो