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

C++-এ বাইনারি সার্চ দিয়ে স্ট্রিং খোঁজা


বাইনারি সার্চ এ স্ট্রিং-এ, আমাদের একটি সোর্টেড স্ট্রিং অ্যারে দেওয়া আছে এবং আমাদের সেটিতে একটি স্ট্রিং বাইনারি সার্চ অ্যালগরিদম ব্যবহার করে খুঁজে বের করতে হবে।

উদাহরণ

ইনপুট: stringArray = {"I", "Love", "Programming", "tutorials", "point"}. Element = "programming" 
আউটপুট: string found at index 3 
ব্যাখ্যা: স্ট্রিংর ইনডেক্স 3। 
ইনপুট: stringArray = {"I", "Love", "Programming", "tutorials", "point"}. Element = "coding" 
আউটপুট: -1 'string not found'

বাইনারি সার্চ হলো একটি সার্চিং টেকনিক যা অ্যারের মিডল বের করে এলিমেন্ট খুঁজে বের করে।

স্ট্রিং অ্যারের জন্যও বাইনারি সার্চ অ্যালগরিদম একই থাকবে। কিন্তু কম্পারিজনগুলো স্ট্রিং কম্পারিজন বেস্ড হবে। স্ট্রিং কম্পারিজন স্ট্রিং-এর প্রথম ক্যারেক্টার চেক করে কমপেয়ার করে। ক্যারেক্টারগুলো সমান হলে পরেরটাতে চলে যায়।

অ্যালগরিদম

arrString: সোর্টেড স্ট্রিং অ্যারে 
Lower = 0; upper = n (অ্যারের দৈর্ঘ্য) 
Element = খুঁজতে হবে স্ট্রিং 
ধাপ ১: এলিমেন্ট পাওয়া পর্যন্ত। করুন: 
ধাপ ২: mid = lower + (upper - lower) / 2; 
ধাপ ৩: যদি arrString[mid] = element, mid রিটার্ন করুন এবং এক্সিট 
ধাপ ৪: যদি arrString[mid] < element, lower = mid+1 
ধাপ ৫: যদি arrString[mid] > element, upper = mid-1 
ধাপ ৬: upper < lower হলে, -1 রিটার্ন করুন, এক্সিট।

উদাহরণ

#include<bits/stdc++.h> 
using namespace std; 

int binarySearchString(string arr[], string x, int n) { 
    int lower = 0; 
    int upper = n - 1; 
    while (lower <= upper) { 
        int mid = lower + (upper - lower) / 2; 
        int res; 
        if (x == (arr[mid])) 
            res = 0; 
        if (res == 0) 
            return mid; 
        if (x > (arr[mid])) 
            lower = mid + 1; 
        else 
            upper = mid - 1; 
    } 
    return -1; 
} 

int main() { 
    string arr[] = {"I", "Love", "Programming", "tutorials", "point"}; 
    string x = "Programming"; 
    int n = 4; 
    int result = binarySearchString(arr, x, n); 
    if (result == -1) 
        cout << ("Element not present"); 
    else 
        cout << ("Element found at index ") << result; 
}

আউটপুট

Element found at index 2

  1. C++-এ বাইনারি সার্চ ট্রি ইটারেটর (Binary Search Tree Iterator)

  2. C++-এ বাইনারি ট্রি থেকে বাইনারি সার্চ ট্রি (BST) কনভার্ট করুন

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

  4. C#-এ বাইনারি সার্চ (Binary Search)