আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসাবে লিটারেলের একটি সাজানো অ্যারে এবং দ্বিতীয় হিসাবে একটি কোয়েরি লিটারাল নেয়। তারপর আমাদের ফাংশনটি বাইনারি সার্চ অ্যালগরিদম ব্যবহার করা উচিত যাতে অনুসন্ধানটি অ্যারেতে বিদ্যমান কিনা।
এটি বিদ্যমান থাকলে, আমরা অ্যারেতে এর সূচী ফেরত দিই, অন্যথায় আমরা -1 ফেরত দিই।
উদাহরণ
এর জন্য কোড হবে −
const arr = [1, 2, 3, 5, 6, 7, 10, 11, 14, 15, 17, 19, 20, 22, 23]; const binarySearch = (arr, query) => { let index = Math.floor(arr.length / 2); if (arr[index] === query){ return index; }else if (arr.length === 1){ return null; }else if (arr[index] < query) { arr = arr.slice(index + 1); let res = binarySearch(arr, query); if (res === null){ return -1; }else { return index + 1 + res; }; }else { let arr1 = arr.slice(0, index); return binarySearch(arr1, query); }; }; console.log(binarySearch(arr, 1)); console.log(binarySearch(arr, 7)); console.log(binarySearch(arr, 11)); console.log(binarySearch(arr, 12)); console.log(binarySearch(arr, 22));
আউটপুট
কনসোলে আউটপুট -
0 5 7 -1 13