検索アルゴリズムは以下の2種類があります。
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));
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3