二分查找在查找【指定值】在【有序】数据中的【位置】时是一种高效的算法。
以下仅提供 ES5 版本。
var arr = [0, 2, 4, 27, 28, 54, 67, 74, 75, 79, 86, 97, 289, 290, 678]
function binarySearch(arr, val) {
var start = 0, end = arr.length - 1;
while (start <= end) {
var mid = Math.floor((start + end) / 2);
if (arr[mid] > val) {
end = mid - 1;
} else if (arr[mid] < val) {
start = mid + 1;
} else {
return mid;
}
}
}
console.log(binarySearch(arr, 75)); // 8
the end
转载于:https://www.cnblogs.com/yungtsan/p/7440849.html
相关资源:各显卡算力对照表!