JS 알고리즘 6일차 - 검색 알고리즘


JS 알고리즘 6일차 - 검색 알고리즘

선형 검색 솔루션 function linearSearch(arr,val) { for (let i = 0; i < arr.length; i++) { if (arr[i] === val) { return i; } } return -1; } linearSearch([34, 56, 1, 2], 1) indexOf, findIndex, includes가 사용하는 알고리즘이다. 시간 복잡도 : O(n) 이진 검색 분류(정렬)된 배열을 대상으로만 작동하므로 데이터가 분류되어 있어야 한다. 기본적인 개념은 분할 정복이다. 보통 중간에 있는 중간점을 선택하고, 우리가 찾는 값이 중간점을 기준으로 좌측 절반과 우측 절반 중 어느 쪽에 있을지 확인한다. 이진 검색 의사 코드 분류된 배열을 인수로 전달받는 함수이다. 2개의 변수가 필요하다. 하나는 좌측을 또 다른 하나는 우측을 나타내는 인덱스로 포인터라고 한다. 포인터의 값은 배열의 길이에서 1을 뺀 값이다. 값을 찾으면 연산을 중지하고 찾지 못하면 중간...


#JavaScript #검색 #나이브문자열검색 #선형검색 #알고리즘 #이진검색

원문링크 : JS 알고리즘 6일차 - 검색 알고리즘