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

নির্দিষ্ট সার্চ সিকোয়েন্সের জন্য বাইনারি সার্চ অ্যালগরিদম বাস্তবায়ন করার C++ প্রোগ্রাম


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

প্রয়োজনীয় ধাপ এবং 의사-কোড

শুরু
   BinarySearch() ফাংশনে 'arr' ডাটা অ্যারে এবং 'n' মানগুলির সংখ্যা, শুরু এবং শেষ ইনডেক্স, ইটারেশন কাউন্ট এবং b[0] সার্চ করার উপাদান আর্গুমেন্ট হিসেবে থাকে।
   ইটারেশন কাউন্টার বাড়ান এবং আইটেম মানকে a[mid]-এর সাথে তুলনা করুন।
   যদি আইটেম < a[mid] হয় তবে প্রথম অর্ধেক বেছে নিন অন্যথায় দ্বিতীয় অর্ধেক দিয়ে এগিয়ে যান।
   ইনডেক্স মান main-এ ফেরত দিন।
   main()-এ, সার্চ সিকোয়েন্সের বাকি আইটেমগুলোকে অ্যারেতে পরবর্তী আইটেমের সাথে ক্রমাগত তুলনা করুন।
   পাওয়া সিকোয়েন্সের ইনডেক্স রেঞ্জ প্রিন্ট করুন।
শেষ।

উদাহরণ কোড

#include <iostream>
using namespace std;

int BinarySearch(int a[], int start, int end, int item, int iter) {
    int i, mid;
    iter++;
    mid = start + (end - start + 1) / 2;
    if (item > a[end] || item < a[start] || mid == end) {
        cout << "\nনहीं मिला";
        return -1;
    } else if (item == a[mid]) {
        return mid;
    } else if (item == a[start]) {
        return start;
    } else if (item == a[end]) {
        return end;
    } else if (item > a[mid])
        BinarySearch(a, mid, end, item, iter);
    else
        BinarySearch(a, start, mid, item, iter);
}

int main() {
    int n, i, flag = 0, Bin, len = 9, a[10] = {1, 7, 15, 26, 29, 35, 38, 40, 49, 51};
    cout << "\nসার্চ সিকোয়েন্সে উপাদানের সংখ্যা লিখুন: ";
    cin >> n;
    int b[n];
    for (i = 0; i < n; i++) {
        cin >> b[i];
    }
    Bin = BinarySearch(a, 0, len, b[0], 0);
    if (Bin == -1) {
        cout << "\nनहीं मिला।";
        return 0;
    } else {
        for (i = Bin; i < n + Bin; i++)
            if (a[i] != b[i - Bin])
                flag = 4;
        if (flag == 4)
            cout << "\nनहीं मिला।";
        else
            cout << "\nসিকোয়েন্স " << Bin << " এবং " << Bin + n << " ইনডেক্সের মধ্যে পাওয়া গেছে।";
    }
    return 0;
}

আউটপুট

সার্চ সিকোয়েন্সে উপাদানের সংখ্যা লিখুন: 4
15 26 29 35
সিকোয়েন্স 2 এবং 6 ইনডেক্সের মধ্যে পাওয়া গেছে।

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

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

  3. নির্দিষ্ট সার্চ সিকোয়েন্সের জন্য বাইনারি সার্চ অ্যালগরিদম বাস্তবায়ন করার C++ প্রোগ্রাম

  4. অ্যারে শাফলিং-এর জন্য ফিশার-ইয়েটস অ্যালগরিদম বাস্তবায়নের C++ প্রোগ্রাম