본 글에서는 JS배열검색에서 반검색 구현 방법을 주로 소개하고, 자바스크립트 배열 반검색 알고리즘의 원리를 특정 요소와 조합하여 분석한다. 구현 기술 및 관련 노트, 필요한 친구들이 참고할 수 있습니다
이 글에서는 JS 배열 검색의 절반 검색 구현 방법을 설명합니다. 참고하실 수 있도록 공유해 드리며, 자세한 내용은 다음과 같습니다.
1. 방법 원리:
주어진 시퀀스 배열에서 특정 값을 검색할 때 arr 중간점을 결정하는 경우 middle = Math.floor((종료점 - 시작점) / 2);
3. startIndex < endIndex를 전제로 arr[middle]의 크기와 값을 비교합니다. :
(1) arr[middle] < value
검색 범위를 배열의 후반부, 즉 startIndex = middle + 1, endIndex = arr.length -로 조정합니다. 1;
(2) arr[middle] > value
검색 범위를 배열의 전반부, 즉 startIndex = 0, endIndex = middle - 1;
그런 다음 middle을 다시 계산하고 arr[middle]과 value가 같거나 startIndex >= endIndex가 될 때까지 다시 비교합니다.2. 코드:
// 该例的写法适用于序列为由小到大的数组 function binarySearch(arr, value) { var startIndex = 0, endIndex = arr.length - 1; middle = Math.floor((endIndex - startIndex) / 2); while (arr[middle] !== value && startIndex < endIndex) { if (arr[middle] > value) { endIndex = middle - 1; } else if (arr[middle] < value) { startIndex = middle + 1; } middle = Math.floor((endIndex - startIndex) / 2); } return (arr[middle] !== value) ? -1 : middle; }
3. 장점과 단점:
(1) 장점:검색할 때마다 검색되는 배열 항목 수가 절반으로 줄어듭니다. 이므로 선형 검색 방법보다 성능이 좋습니다(특히 배열 항목이 많은 경우).
(2) 단점: 은 일반배열에서 이 방법을 사용하려면 배열을 정렬해야 합니다.
위 내용은 JS 배열 검색에서 반 검색 구현 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!