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

C++ Program में दिए गए बाइनरी ट्री से मिरर ट्री बनाएं

इस ट्यूटोरियल में, हम दिए गए बाइनरी ट्री को प्रतिबिंबित करने जा रहे हैं।

आइए समस्या को हल करने के लिए चरणों को देखें।

  • एक स्ट्रक्चर नोड लिखें।

  • डमी डेटा के साथ बाइनरी ट्री बनाएं।

  • दिए गए बाइनरी ट्री के दर्पण को खोजने के लिए एक पुनरावर्ती कार्य लिखें।

    • फ़ंक्शन को बाएँ और दाएँ नोड्स के साथ पुनरावर्ती रूप से कॉल करें।

    • बाएं नोड डेटा को दाएं नोड डेटा से स्वैप करें।

  • पेड़ को प्रिंट करें।

उदाहरण

आइए कोड देखें।

#include<bits/stdc++.h>
using namespace std;
struct Node {
   int data;
   struct Node* left;
   struct Node* right;
};
struct Node* newNode(int data) {
   struct Node* node = new Node;
   node->data = data;
   node->left = NULL;
   node->right = NULL;
   return node;
}
void convertTreeToItsMirror(struct Node* node) {
   if (node == NULL) {
      return;
   }
   else {
      struct Node* temp;
      convertTreeToItsMirror(node->left);
      convertTreeToItsMirror(node->right);
      temp = node->left;
      node->left = node->right;
      node->right = temp;
   }
}
void printTree(struct Node* node) {
   if (node == NULL) {
      return;
   }
   printTree(node->left);
   cout << node->data << " ";
   printTree(node->right);
}
int main() {
   struct Node *root = newNode(1);
   root->left = newNode(2);
   root->right = newNode(3);
   root->left->left = newNode(4);
   root->left->right = newNode(5);
   cout << "Tree: ";
   printTree(root);
   cout << endl;
   convertTreeToItsMirror(root);
   cout << "Mirror of the Tree: ";
   printTree(root);
   cout << endl;
   return 0;
}

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।

Tree: 4 2 5 1 3
Mirror of the Tree: 3 1 5 2 4

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।


  1. सी ++ प्रोग्राम किसी दिए गए बाइनरी ट्री के पोस्टऑर्डर रिकर्सिव ट्रैवर्सल करने के लिए

    ट्री ट्रैवर्सल ग्राफ ट्रैवर्सल का एक रूप है। इसमें पेड़ में प्रत्येक नोड को ठीक एक बार जांचना या प्रिंट करना शामिल है। बाइनरी सर्च ट्री के पोस्टऑर्डर ट्रैवर्सल में ट्री में प्रत्येक नोड को क्रम (बाएं, दाएं, रूट) में जाना शामिल है। बाइनरी ट्री के पोस्टऑर्डर ट्रैवर्सल का एक उदाहरण इस प्रकार है। एक ब

  1. सी ++ प्रोग्राम किसी दिए गए बाइनरी ट्री के इनऑर्डर रिकर्सिव ट्रैवर्सल करने के लिए

    ट्री ट्रैवर्सल ग्राफ ट्रैवर्सल का एक रूप है। इसमें पेड़ में प्रत्येक नोड को ठीक एक बार जांचना या प्रिंट करना शामिल है। बाइनरी सर्च ट्री के इनऑर्डर ट्रैवर्सल में ट्री में प्रत्येक नोड को क्रम (बाएं, रूट, राइट) में जाना शामिल है। बाइनरी ट्री के इनऑर्डर ट्रैवर्सल का एक उदाहरण इस प्रकार है। एक बाइनरी

  1. सी ++ प्रोग्राम किसी दिए गए बाइनरी ट्री के प्रीऑर्डर रिकर्सिव ट्रैवर्सल करने के लिए

    ट्री ट्रैवर्सल ग्राफ ट्रैवर्सल का एक रूप है। इसमें पेड़ में प्रत्येक नोड को ठीक एक बार जांचना या प्रिंट करना शामिल है। बाइनरी सर्च ट्री के प्रीऑर्डर ट्रैवर्सल में ट्री के प्रत्येक नोड को क्रम (रूट, लेफ्ट, राइट) में जाना शामिल है। बाइनरी ट्री के प्रीऑर्डर ट्रैवर्सल का एक उदाहरण इस प्रकार है। एक बाइ