हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो पहले तर्क के रूप में शाब्दिक की एक क्रमबद्ध सरणी और दूसरे के रूप में एक क्वेरी शाब्दिक लेता है। फिर हमारे फ़ंक्शन को यह पता लगाने के लिए बाइनरीसर्च एल्गोरिथम का उपयोग करना चाहिए कि क्वेरी सरणी में मौजूद है या नहीं।
यदि यह मौजूद है, तो हम इसकी अनुक्रमणिका को सरणी में लौटाते हैं, अन्यथा हम -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