কম্পিউটার

C++ স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরিতে বাইনারি অনুসন্ধান (STL)


লগারিদমিক অনুসন্ধান নামে পরিচিত একটি বাইনারি অনুসন্ধান হল একটি অনুসন্ধান অ্যালগরিদম যা একটি সাজানো অ্যারেতে একটি উপাদান অনুসন্ধান করে৷ অ্যালগরিদম পুনরাবৃত্তিমূলকভাবে অ্যারেটিকে দুটি অর্ধে ভাগ করে, যদি উপাদানটি মধ্য অবস্থানে পাওয়া যায় তবে ফিরে যান অন্যথায় বিভাজনটিকে কল করুন এবং উপাদানটি না পাওয়া পর্যন্ত আবার চেক করুন৷

কাজ করছে

অ্যালগরিদমটি সাজানো অ্যারের মধ্যম উপাদানটিকে অনুসন্ধান করা উপাদানের সাথে তুলনা করে কাজ করে৷

যদি অনুসন্ধান উপাদান সমান হয় মধ্যম উপাদানে, তারপর সূচী ফেরত দিন উপাদানের।

যদি অনুসন্ধানের উপাদানটি বৃহত্তর হয় মধ্যম উপাদানের চেয়ে, বাম সাব্যারেতে অনুসন্ধান করুন অর্থাৎ মাঝখানের পরবর্তী উপাদান থেকে অ্যারের শেষ পর্যন্ত সাব অ্যারে।

যদি অনুসন্ধান উপাদান কম হয় মধ্যম উপাদানের চেয়ে, ডান সাব অ্যারেতে অনুসন্ধান করুন অর্থাৎ প্রথম উপাদান থেকে অ্যারের মাঝখানের পূর্ববর্তী উপাদান পর্যন্ত সাব অ্যারে।

সিনট্যাক্স

স্ট্যান্ডার্ড বাইনারি সাজানোর কল, নিম্নলিখিত সিনট্যাক্স ব্যবহার করা হয় -

binary_search(start_address , end_address , element)

প্যারামিটার

start_address হল অ্যারের প্রথম উপাদানের ঠিকানা।

end_address হল অ্যারের শেষ উপাদানের ঠিকানা।

উপাদান হল অ্যারেতে পাওয়া উপাদান।

ফেরত

এটি একটি পূর্ণসংখ্যা প্রদান করে যার মান অ্যারের উপাদানটির সূচকের সমান যদি পাওয়া যায় অন্যথায় 0 প্রদান করে।

উদাহরণ

#include <algorithm>
#include <iostream>
using namespace std;
void printArray(int a[], int arraysize){
   for (int i = 0; i < arraysize; ++i)
      cout << a[i] << " ";
}
int main(){
   int arr[] = {1 , 5, 9, 7 , 3, 2 , 0 , 4};
   int sizeofarr = sizeof(arr)/sizeof(arr[0]);
   cout<<"The Element of array are :\n";
   printArray(arr , sizeofarr);
   cout<<"\nSorting Elements of array.";
   sort(arr , arr+sizeofarr);
   cout<<"\nSorted array is : ";
   printArray(arr, sizeofarr);
   cout<<"\nElement to be searched is 4";
   if(binary_search(arr , arr+sizeofarr , 4))
      cout<<"\nElement found ";
   else
      cout<<"\nElement not found";
}

আউটপুট

The Element of array are :
1 5 9 7 3 2 0 4
Sorting Elements of array.
Sorted array is : 0 1 2 3 4 5 7 9
Element to be searched is 4

  1. C++ এ বাইনারি সার্চ ট্রিতে সবচেয়ে কাছের উপাদান খুঁজুন

  2. C++ স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরিতে (STL) অগ্রাধিকার সারি

  3. C++ প্রোগ্রামে বাইনারি অনুসন্ধান?

  4. পাইথনে বাইনারি অনুসন্ধান ব্যাখ্যা করুন