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

C++-এ বাইনারি ট্রি ২-ডাইমেনশনে প্রিন্ট করুন

একটি বাইনারি ট্রি দেওয়া আছে। এটিকে ২-ডাইমেনশনাল প্লেনে (হরিজেন্টালি) প্রিন্ট করতে হবে। ট্রি ৯০ ডিগ্রি ঘুরিয়ে দেখানো হয়।

অ্যালগরিদম
  • রাইট সাবট্রি আগে প্রিন্ট করুন (ইন্ডেন্টেশন বড়ায়)।
  • রুট নোড প্রিন্ট করুন।
  • লেফট সাবট্রি প্রিন্ট করুন।
  • ইন্ডেন্টেশনের জন্য স্পেস বা ট্যাব ব্যবহার করুন।
উদাহরণ কোড
#include <bits/stdc++.h>
#include <iostream>
using namespace std;

#define COUNT 10

class Node {
public:
    int data;
    Node* left, *right;
    Node(int data) {
        this->data = data;
        this->left = NULL;
        this->right = NULL;
    }
};

void printTree(Node *root, int space) {
    if (root == NULL) return;
    space += COUNT;
    printTree(root->right, space);
    for (int i = COUNT; i < space; i++)
        cout << "\t";
    cout << root->data << "\n";
    printTree(root->left, space);
}

int main() {
    Node *root = new Node(43);
    root->left = new Node(25);
    root->right = new Node(67);
    root->left->left = new Node(14);
    root->left->right = new Node(51);
    root->right->left = new Node(26);
    root->right->right = new Node(97);
    root->left->left->left = new Node(81);
    root->left->left->right = new Node(49);
    root->left->right->left = new Node(7);
    root->left->right->right = new Node(31);
    root->right->left->left = new Node(29);
    root->right->left->right = new Node(13);
    root->right->right->left = new Node(59);
    root->right->right->right = new Node(16);
    printTree(root, 0);
    return 0;
}
আউটপুট
            16
        97
            59
    67
            13
        26
            29
43
            31
        51
            7
    25
            49
        14
            81
  1. বাইনারি ট্রিতে একটি নোডের পোস্টঅর্ডার সাক্সেসর (C++)

  2. C++-এ বাইনারি ট্রির সব ফুল নোড প্রিন্ট করা

  3. C++-এ বাইনারি ট্রির সব ইন্টারনাল নোড প্রিন্ট করা

  4. C++-এ বাইনারি ট্রিতে K-সম পাথ প্রিন্ট করা