কম্পিউটার

জাভাস্ক্রিপ্টে বাইনারি অনুসন্ধান প্রয়োগ করা হচ্ছে যদি অনুসন্ধান করা নম্বরটি বিদ্যমান থাকে তবে সূচকটি ফেরত দিতে


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসাবে সংখ্যার সাজানো অ্যারে এবং দ্বিতীয় আর্গুমেন্ট হিসাবে একটি অনুসন্ধান নম্বর নেয়৷

যদি অনুসন্ধান নম্বরটি অ্যারেতে বিদ্যমান থাকে, তাহলে আমাদের অ্যারেতে এর সূচকটি ফেরত দিতে হবে, অন্যথায় আমাদের -1 ফেরত দিতে হবে।

বাইনারি অনুসন্ধান অ্যালগরিদম ব্যবহার করে আমাদের এটি করতে হবে। বাইনারি সার্চ অ্যালগরিদম মূলত একটি ডিভাইড অ্যান্ড কনক্যুয়ার অ্যালগরিদম যা পুনরাবৃত্ত অ্যারেকে অর্ধেক ভাগ করে যতক্ষণ না এটি একটি সিঙ্গেলটন উপাদানের সাথে যোগাযোগ করে।

এই ক্ষেত্রে বাইনারি সার্চ অ্যালগরিদমের জন্য অ্যারের বাছাই করা প্রয়োজন, কারণ এটি আমাদের জন্য কোন অংশটি সহজে ভাগ করতে হবে তা নির্ধারণ করে।

উদাহরণ

const arr = [-3, -1, 4, 7, 9, 11, 14, 22, 26, 28, 36, 45, 67, 78, 88, 99];
const binarySearch = (arr = [], num) => {
   let l = 0;
   let r = arr.length - 1;
   while(l <= r){
      const mid = Math.floor((l + r) / 2); if(num == arr[mid]){
         return mid;
      }
      else if(num < arr[mid]){
         r = mid - 1;
      }
      else{
         l = mid + 1;
      };
   };
   return -1
};
console.log(binarySearch(arr, 22));
console.log(binarySearch(arr, 56));
console.log(binarySearch(arr, 11));

আউটপুট

এবং কনসোলে আউটপুট হবে −

7
-1
5

  1. বাইনারি অনুসন্ধান জাভাস্ক্রিপ্ট:একটি গাইড

  2. জাভাস্ক্রিপ্ট সহ একটি নথিতে চিত্রের সংখ্যা কীভাবে ফেরত দেওয়া যায়?

  3. জাভাস্ক্রিপ্টে রৈখিক অনুসন্ধান বাস্তবায়ন করা

  4. জাভাস্ক্রিপ্টে সেটের দীর্ঘতম দৈর্ঘ্য খুঁজুন এবং ফেরত দিন