মডিউল ২১-৭ঃ Convert Array to BST

এই module এ আমরা কিভাবে array কে BST তে convert করা যায় সেটা দেখবো। এই প্রক্রিয়াতে আমাদের একটা array এ ছোট ছোট ভাগে ভাগ করে তাদের mid দিয়ে ছোট ছোট tree বানিয়ে সেগুলো নিয়ে বড় একট BST বানাতে হবে।

সরাসরি code এ চলে যাওয়া যাক

Node *convert(int a[], int n, int l, int r)
{

// left যদি right থেকে বড় হয় তাহলে return করবো null
    if (l > r)
        return NULL;
//এর পর mid calculate করা হয়েছে।
    int mid = (l + r) / 2;
// Mid দিয়ে new root create করা হয়েছে
    Node *root = new Node(a[mid]);
//এর পর right এ একবার এবং left এ একবার traverse করবো
    Node *leftRoot = convert(a, n, l, mid - 1);
    Node *rootRight = convert(a, n, mid + 1, r);

//এখন left e রাখবো left subtree right এ রাখবো right subtree
    root->left = leftRoot;
    root->right = rootRight;
    return root;
}

Last updated