সর্টেড অ্যারে-র কথা যতক্ষণ (যেকোনো ক্রমে হোক), বাইনারি সার্চ সবচেয়ে অপ্টিমাইজড এবং দক্ষ সার্চ অ্যালগরিদম। আমাদের একটি বাইনারি সার্চ ফাংশন লিখতে হবে যা একটি সর্টেড লিটারেল অ্যারে-এ টার্গেট সার্চ করবে।
তারপর আমরা সেই ফাংশনটি Array অবজেক্টের প্রোটোটাইপ প্রপার্টির সাথে আট্যাচ করব।
উদাহরণ
এটির কোড হবে −
const arr = [2, 5, 8, 12, 14, 16, 17, 22, 26, 28, 35, 67, 78, 99];
const target = 22;
Array.prototype.binarySearch = function(target) {
if ( !this.length ) { return false; }
if ( this[0] === target ) { return true; }
var i, mid,
start = 0,
end = this.length,
c = false;
while ( c = (i = this[mid = start+((end-start)>>1)]) !== target ) {
i < target ? (start = mid) : (end = mid);
if (start >= end - 1) { break; }
}
return !c;
};
console.log(arr.binarySearch(target));
আউটপুট
কনসোলে আউটপুট হবে −
true