본문 바로가기

Java/자료구조

3-1 검색 알고리즘

1. 검색과 키 

 

- 데이터 집합에서 원하는 값을 가진 요소를 찾아냄

 

ex)

- 주소록 검색 

1. 국적이 한국인 사람을 찾습니다.
2. 나이가 21세 이상 27세 미만인 사람을 찾습니다. 
3. 찾으려는 이름과 가장 비슷한 이름을 가진 사람을 찾습니다.

 

- 이러한 검색은 특정 항목에 주목한다는 공통점이 있음 

- 키(key) = 주목하는 항목 

1. 키값과 일치하도록 지정(한국)
2. 키값의 구간을 지정(21세 이상 27세 미만)
3. 키값과 비슷하도록 지정(발음이 가장 비슷한 이름)

 

- 조건은 하나만 지정하기도 하지만 논리곱이나 논리합을 사용하여 여러 조건을 복합해서 지정하기도 함 

 

 

2. 배열에서 검색하기 

 

활용 알고리즘 

 

1) 선형 검색

 - 무작위로 늘어서 있는 데이터 모임에서 검색을 수행 

 

2) 이진 검색 

 - 일정한 규칙으로 늘어서 있는 데이터 모임에서 아주 빠른 검색을 수행 

 

3) 해시법

 - 추가, 삭제가 자주 일어나는 데이터 모임에서 아주 빠른 검색을 수행 

 

 - 체인법

  -> 같은 해시값의 데이터를 선형 리스트로 연결하는 방법

  

 - 오픈 주소법

  -> 데이터를 위한 해시값이 충돌할 때 재해시하는 방법 

 

 

'Java > 자료구조' 카테고리의 다른 글

3-3 이진 검색  (0) 2024.02.01
3-2 선형 검색  (1) 2024.02.01
2-2 클래스  (0) 2024.01.28
2-1 배열  (0) 2024.01.28
1-2. 반복  (1) 2024.01.27