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

বাইনারি সার্চ পদ্ধতিতে অ্যারের ন্যূনতম উপাদান খুঁজে বের করার C++ প্রোগ্রাম


এটি একটি C++ প্রোগ্রাম যা বাইনারি সার্চ ট্রি ব্যবহার করে অ্যারের ন্যূনতম উপাদান খুঁজে বের করে। এই প্রোগ্রামের সময় জটিলতা O(log n)।

অ্যালগরিদম

শুরু
দেওয়া অসর্টেড ডাটা অ্যারের জন্য বাইনারি সার্চ ট্রি নির্মাণ করুন।
ন্যূনতম উপাদান খুঁজতে পয়েন্টারকে বামপাশের চাইল্ড নোডে সরান।
এই মানটি প্রদত্ত ডাটার মধ্যে ন্যূনতম মান হিসেবে প্রিন্ট করুন।
শেষ

উদাহরণ কোড

#include <iostream>
using namespace std;

struct node {
    int d;
    node *left;
    node *right;
};

node* CreateNode(int d) {
    node *newnode = new node;
    newnode->d = d;
    newnode->left = NULL;
    newnode->right = NULL;
    return newnode;
}

node* InsertIntoTree(node* root, int d) {
    node *temp = CreateNode(d);
    node *t = new node;
    t = root;
    if (root == NULL)
        root = temp;
    else {
        while (t != NULL) {
            if (t->d < d) {
                if (t->right == NULL) {
                    t->right = temp;
                    break;
                }
                t = t->right;
            } else if (t->d > d) {
                if (t->left == NULL) {
                    t->left = temp;
                    break;
                }
                t = t->left;
            }
        }
    }
    return root;
}

int main() {
    int n, i, a[10] = {86, 63, 95, 6, 7, 67, 52, 26, 45, 98};
    node *root = new node;
    root = NULL;
    cout << "\nডাটা সেট:\n";
    for (i = 0; i < 10; i++) {
        cout << a[i] << " ";
        root = InsertIntoTree(root, a[i]);
    }
    cout << "\n\nপ্রদত্ত ডাটা সেটের ন্যূনতম উপাদানটি হল ";
    i = 0;
    while (root->left != NULL) {
        i++;
        root = root->left;
    }
    cout << root->d << " যা রুট থেকে " << i << " গভীরতায় পাওয়া গেছে।";
    return 0;
}

আউটপুট

ডাটা সেট: 86 63 95 6 7 67 52 26 45 98
প্রদত্ত ডাটা সেটের ন্যূনতম উপাদানটি হল 6 যা রুট থেকে 2 গভীরতায় পাওয়া গেছে।

  1. C++-এ বাইনারি ট্রির ন্যূনতম গভীরতা খুঁজুন

  2. C++-এ বাইনারি ট্রিতে সর্বোচ্চ ও ন্যূনতম মান বের করুন

  3. C++-এ বাইনারি সার্চ ট্রি থেকে টার্গেটের নিকটতম K এলিমেন্ট বের করা

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