알고리즘 2

검색 알고리즘(2)-이진검색

📖이전글 검색 알고리즘(1)-선형검색 목차 이진검색 일정한 규칙으로 늘어놓은 데이터 모임에서 아주 빠른 검색을 수행하는 알고리즘이다. 전제 조건은 요소가 오름차순 또는 내림차순으로 정렬되어 있어야 한다. 키 값은 21이다. 검색 범위의 맨 앞 인덱스를 pl, 맨 끝 인덱스를 pr, 가운데 인덱스를 pc 라고 한다. 제일 가운데 요소인 a[3] 부터 검사한다. 검색하려는 값 21은 a[3] 값인 10보다 크다. 때문에 왼쪽의 값들은 제외한다. 그 다음 a[4]~a[6] 의 가운데 요소인 a[5] 를 검사한다. 21은 a[5] 값인 22보다 작기 때문에 오른쪽의 값들은 제외한다. a[4] 값인 21을 찾고 검색 종료. 여기서 중요한 것은, 이진 검색을 한 단계씩 진행할 때마다 검색 범위가 거의 반으로 좁혀진..

검색 알고리즘(1)-선형검색

목차 검색 알고리즘 검색 알고리즘이란 데이터 집합에서 원하는 값을 가진 요소를 찾아내는 알고리즘이다. 원하는 값을 찾기 위해서는 키(key) 값이 필요하다. 서울에 사는 사람을 찾기 위해서는 키값을 '서울' 로 지정해야 한다. 20세 이상 30세 미만인 사람을 찾기 위해서는 키 값을 20세 이상 30세 미만 으로 설정해야 한다. 대부분의 경우에서 키는 데이터의 일부이다. 선형 검색 무작위로 늘어놓은 데이터 모임에서 검색을 수행하는 방법이다. 요소가 직선 모양으로 늘어선 배열에서 원하는 키 값을 갖는 요소를 만날 때까지 맨 앞부터 순서대로 요소를 검색한다. 키 값이 '1' 이라면 세번째 시도에서 성공하고, 키 값이 '4' 라면 검색에 실패한다. 선형 검색 종료 조건 다음 조건 중 하나라도 성립하면 검색을 ..