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

ডাবল ট্রি উদাহরণসহ C++ প্রোগ্রামে


এই টিউটোরিয়ালে আমরা দেওয়া ট্রিকে ডাবল (দুগুণ) করার পদ্ধতি শিখব।

সমস্যা সমাধানের ধাপগুলো:

  • নোড ক্লাস তৈরি করুন।

  • ডামি ডেটা দিয়ে ট্রি ইনিশিয়ালাইজ করুন।

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

    • ট্রি রিকারসিভভাবে ট্রাভার্স করুন।

    • লেফট নোডটি একটি ভেরিয়েবলে স্টোর করুন।

    • ট্রাভার্সাল শেষে নতুন নোড তৈরি করে ডেটা যোগ করুন।

    • এখন লেফট নোডটিকে নতুন তৈরি নোডের লেফট চাইল্ড হিসেবে যোগ করুন।

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

উদাহরণ

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

#include <bits/stdc++.h> using namespace std; class node {    public:    int data;    node* left;    node* right; }; node* newNode(int data) {    node* Node = new node();    Node->data = data;    Node->left = NULL;    Node->right = NULL;    return Node; } void doubleTree(node* Node) {    node* oldLeft;    if (Node == NULL) return;       doubleTree(Node->left);    doubleTree(Node->right);    oldLeft = Node->left;    Node->left = newNode(Node->data);    Node->left->left = oldLeft; } void printTree(node* node) {    if (node == NULL) {       return;    }    printTree(node->left);    cout << node->data << " ";    printTree(node->right); } int main() {    node *root = newNode(1);    root->left = newNode(2);    root->right = newNode(3);    cout << "Original Tree" << endl;    printTree(root);    cout << endl;    doubleTree(root);    cout << "Double Tree" << endl;    printTree(root);    cout << endl;    return 0; }

আউটপুট

উপরের কোডটি রান করলে নিচের ফলাফল পাওয়া যাবে:

Original Tree 2 1 3 Double Tree 2 2 1 1 3 3

উপসংহার

টিউটোরিয়াল সম্পর্কে কোনো প্রশ্ন থাকলে কমেন্ট সেকশনে জানান।


  1. সি++-এ ব্র্যাকেটসহ বাইনারি ট্রি থেকে স্ট্রিং রূপান্তর

  2. C++-এ বাইনারি সার্চ ট্রি (BST)-এ সর্বনিম্ন মান্যুক্ত নোড (Node) খুঁজে বের করা

  3. সি++ প্রোগ্রাম: বাইনারি ট্রি (Binary Tree)-এর বিজোড় লেভেল (Odd Level)-এ থাকা নোডগুলো প্রিন্ট করা

  4. C++ প্রোগ্রাম: AVL ট্রি ইমপ্লিমেন্টেশন