কম্পিউটার টিউটোরিয়াল

দেওয়া বাইনারি ট্রি থেকে মিরর ট্রি তৈরি করা C++ প্রোগ্রামে


এই টিউটোরিয়ালে আমরা দেওয়া বাইনারি ট্রিকে প্রতিফলিত (mirror) করার পদ্ধতি শিখব।

সমস্যা সমাধানের ধাপগুলো নিচে দেওয়া হলো:

  • নোডের জন্য একটি struct লিখুন।

  • ডামি ডেটা ব্যবহার করে বাইনারি ট্রি তৈরি করুন।

  • বাইনারি ট্রির মিরর খুঁজে বের করার জন্য একটি রিকারসিভ ফাংশন লিখুন।

    • লেফট এবং রাইট নোড সহ রিকারসিভভাবে ফাংশনটি কল করুন।

    • লেফট নোডের ডেটাকে রাইট নোডের ডেটার সাথে বদলিয়ে দিন।

  • ট্রি প্রিন্ট করুন।

উদাহরণ

নিচে কোডটি দেওয়া হলো:

#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. দেওয়া বাইনারি ট্রির প্রি-অর্ডার নন-রিকারসিভ ট্রাভার্সালের C++ প্রোগ্রাম

  2. বাইনারি ট্রির পোস্ট-অর্ডার রিকার্সিভ ট্রাভার্সালের C++ প্রোগ্রাম

  3. বাইনারি ট্রির ইন-অর্ডার রিকার্সিভ ট্রাভার্সালের C++ প্রোগ্রাম

  4. বাইনারি ট্রির প্রি-অর্ডার রিকার্সিভ ট্রাভার্সালের C++ প্রোগ্রাম