1、二分搜索的前提是数组有序,从数组的中间元素开始。如果中间元素恰好是目标值,搜索就结束了。
2、如果目标值大于或小于中间元素,则在大于或小于中间元素的一半中进行搜索。
实例
Array.prototype.binarySearch = function (item) { let low = 0; let high = this.length - 1; while (low <= high) { const mid = Math.floor((low + high) / 2); const element = this[mid]; if (element < item) { low = mid + 1; } else if (element > item) { high = mid - 1; } else { return mid; } } return -1; }; const arr = [1, 2, 3, 4, 5]; const res = arr.binarySearch(3);
以上就是js中二分搜索的使用,希望对大家有所帮助。更多js学习指路:
推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。