以下是二分搜索的主要先決條件:
數據必須有序(sorted):二分搜索僅適用於有序數據集。數據可以是遞增或遞減排序,但它們必須按照一定的順序排列,以便在搜索過程中比較和定位元素。
function binarySearch(array, target) { let min = 0; let max = array.length - 1; let step = 0 while (min <= max) { const middle = Math.floor((max + min) / 2); step ++ if (target > array[middle]) { min = middle + 1; } else if (target < array[middle]) { max = middle - 1; } else { console.log("Find target number " + target + " at position " + middle); console.log("using " + step + " steps to find "); return middle; } } console.log("Can't find target number " + target); return -1; }