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

বাইনারি সার্চ ব্যবহার করে অ্যারেতে সর্বাধিক উপাদান খুঁজে বের করার 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প্রদত্ত ডাটা সেটের সর্বাধিক উপাদানটি হল\n ";
    i = 0;
    while (root->right != NULL) {
        i++;
        root = root->right;
    }
    cout << root->d << "\n" << "ডাটা পাওয়া গেছে রুট থেকে " << i << " গভীরতায়।";
    return 0;
}

আউটপুট

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

  1. বাইনারি সার্চ C++ প্রোগ্রামে

  2. লিনিয়ার সার্চ ব্যবহার করে অ্যারেতে ন্যূনতম উপাদান খুঁজে বের করার C++ প্রোগ্রাম

  3. বাইনারি সার্চ ট্রিতে উপাদান সার্চ করার C++ প্রোগ্রাম

  4. অ্যারেতে সবচেয়ে বড় এলিমেন্ট (Largest Element) বের করার C++ প্রোগ্রাম