검색조건
국적이 한국인 사람을 찾습니다.
나이가 21세 이상 27세 미만인 사람을 찾슷ㅂ니다.
이름에 '민' 자가 들어간 사람을 찾습니다.
이러한 검색 조건에서 주목하는 항목을 key 라고 합니다.
여기서 국적으로 검색하는 경우 국적이 key, 나이로 검색하면 나이가 key 입니다.
대부분의 key는 데이터의 일부입니다. 데0이터가 간단한 정숫값이나 문자열이면 데이터값이 그대로 key값이 될 수 있습니다.
검색에서는 이러한 조건을 하나만 지정할 수도 있고 논리곱, 논리합을 사용해서 지정할 수도 있습니다.
검색에는 3가지의 종류가 있습니다.
우선 배열 검색 부터 차근 차근 해 나가가려고 한다.
배열에서 가장 기본적인 알고리즘은 선형 검색 입니다.
직선모양으로 늘어선 배열에서 검색하는 경우에 원하는 키값을 가진 원소를 찾을 때 까지 맨 앞부터 스캔하여 검색하는 알고리즘 입니다.
사진에서 보이듯이 앞에서 부터 차근 차근 검색하는 방법입니다. 그래서 순차검색 이라고도 합니다.
그래서 선형검색의 종료 조건은
선형 검색을 위한 코드를 보면
선형검색하는 방법 중 한 가지 입니다. 위에 있듯이 선형 검색은 반복할 때 마다 2가지 종료조건을 검색합니다.
이 두 가지를 반복하게 되는데 각 요소를 검사 할때 마다 이 종료조건 2가지를 검사하는 비용을 무시할 수가 없습니다. 그래서 나온게 보초법(sentinel method)
임의의 값을 배열의 맨 끝에 추가로 추가(보초를 세워놓고) 임의의 값을 찾아가는 검색을 진행 하는 과중에 내가 찾고자 하는 값을 찾는 과정입니다. 임의의 값을 찾게되면 검색 실패 가 됩니다.
그래서 선형검색의 종료조건 중
javascript 선형 탐색
우선 이진 검색에서 선결되어져야 하는 부분은 데이터가 정렬이 되어 있어야 합니다.
이진 검색은 원소가 오름차순이나 내림차순으로 정렬된 배열에서 좀 더 효율 적으로 검색할 수 있는 알고리즘 입니다.
1. 찾고자 하는 값이 8 인 경우 배열의 중값의 값을 기준값으로 정합니다.
2. 찾고자 하는 값이 기준값 보다 큰 경우 기준값을 시작으로 탐색을 합니다.
3. 찾고자 하는 값이 기준값 보다 작은 경우 기준값을 끝나는 지점으로 해서 다시 탐색을 실시합니다.
이 단계를 반복해서 원하는 값을 구하는 방법을 이진 검색이라고 합니다.
이진 검색의 종료조건
javascript 이진검색
https://velog.io/@yujo/JS%EC%9D%B4%EC%A7%84-%ED%83%90%EC%83%89Binary-Search