搜尋演算法有以下兩種。
const linearSearch = (arr, value) => { for (let item of arr) { if (item == value) { return true; } } return false; }; console.log(linearSearch([1,2,3,4,5,6,7,8,9], 7)); console.log(linearSearch([1,2,3,4,5,6,7,8,9], 3)); console.log(linearSearch([1,2,3,4,5,6,7,8,9], 10)); console.log(linearSearch([1,2,3,4,5,6,7,8,9], 9));
二分查找
const binarySearch = (arr, value, low = 0, high=arr.length-1) => { const mid = Math.floor((low + high)/2); const midValue = arr[mid]; if (low > high) { return false; } if (midValue == value) { return true; } else if (midValue > value) { return binarySearch(arr, value, low, mid); } else { return binarySearch(arr, value, mid+1, high); } } const arr = [9,8,7,6,5,4,3,2,1]; arr.sort((a,b) => a-b); console.log(binarySearch(arr, 7)); console.log(binarySearch(arr, 3)); console.log(binarySearch(arr, 10)); console.log(binarySearch(arr, 9));
以上是使用 Javascript 的搜尋演算法的詳細內容。更多資訊請關注PHP中文網其他相關文章!