একটি ফাংশন তৈরি করুন, বলুন বাইনারি সার্চ() যা 4টি আর্গুমেন্ট নেয় -
- একটি সাজানো সংখ্যা / স্ট্রিং আক্ষরিক অ্যারে
- অ্যারের শুরুর সূচক (0)
- অ্যারের শেষ সূচক (দৈর্ঘ্য - 1)
- অনুসন্ধান করা নম্বর
যদি সংখ্যাটি অ্যারেতে থাকে, তাহলে সংখ্যাটির সূচী ফেরত দিতে হবে, অন্যথায় -1 ফেরত দিতে হবে। এখানে সম্পূর্ণ কোড -
উদাহরণ
const arr = [2,4,6,6,8,8,9,10,13,15,17,21,24,26,28,36,58,78,90]; //binary search function //returns the element index if found otherwise -1 const binarySearch = (arr, start, end, num) => { const mid = start + Math.floor((end - start)/2); if(start <= end){ if(arr[mid] === num){ return mid; } if(num < arr[mid]){ return binarySearch(arr, start, mid-1, num); } if(num > arr[mid]){ return binarySearch(arr, mid+1, end, num); } } return -1; }; console.log(binarySearch(arr, 0, arr.length-1, 13)); console.log(binarySearch(arr, 0, arr.length-1, 11));
আউটপুট
কনসোলে এই কোডের আউটপুট হবে −
8 -1