মডিউল ১৭- ৪ঃ Create a Binary Tree

Binary Tree নিয়ে আমরা গত module এ জেনেছি। এই module এ আমরা binary tree এর use cases ছোট্ট করে জেনে নিবো তারপর Binary Tree কিভাবে তৈরি করা হয় তা দেখবো।

Binary Tree এর ব্যবহার অনেকক্ষেত্রে করা হয়ে থাকে। যেমনঃ

১) file system desiging

২) search engine indexing

৩) sorting and searching algorithm

৪) machine learning এর decision tree বানানো তে।

৫) network routing ইত্যাদি।

এবার একটু graphically দেখে নেই value সহ binary tree দেখতে কেমন হয়।

এবার code এর মাধ্যমে দেখি কিভাবে Binary Tree Create করা যায়। এখানে আমরা doubly linked list এর node এর format টা ব্যবহার করবো।

Code:

#include <bits/stdc++.h>
using namespace std;
class Node
{
public:
    int val;
    Node *left;
    Node *right;
    Node(int val)
    {
        this->val = val;
        this->left = NULL;
        this->right = NULL;
    }
};
int main()
{
    // Node গুলোকে define করা হচ্ছে। 
    Node *root = new Node(10);
    Node *a = new Node(20);
    Node *b = new Node(30);
    Node *c = new Node(40);
    Node *d = new Node(50);
    Node *e = new Node(60);
    Node *f = new Node(70);
    Node *g = new Node(80);
    Node *h = new Node(90);
    Node *i = new Node(100);

    // Node গুলোর মধ্যে connection create করা হচ্ছে।
    root->left = a;
    root->right = b;
    a->left = c;
    a->right = h;
    c->right = e;
    b->right = d;
    d->left = f;
    d->right = g;
    h->right = i;

    return 0;
}

যেহেতু এটি একটি non-linear data-structure তাই এটিকে linearভাবে Sequencially Print করা যাবে না। নিচে কয়েকটি binary tree traversal way দেখানো হয়েছে। পরের module গুলোতে আমরা এইটা নিয়ে বিস্তারিত আলোচনা করবো।

Last updated