검색 알고리즘 (Searching Algorithms)이란?
본문 바로가기
잡학모음집

검색 알고리즘 (Searching Algorithms)이란?

by mement0mori 2023. 8. 31.

ai_검색알고리즘
ai 이미지

검색 알고리즘이란, 데이터 집합에서 원하는 데이터를 찾아내는 알고리즘입니다. 검색 알고리즘은 데이터의 종류, 데이터가 저장된 방식, 검색 속도 등에 따라 다양한 종류가 있습니다.

검색 알고리즘의 종류

선형 검색 (Linear Search)

데이터 집합의 처음부터 끝까지 순차적으로 검색하는 알고리즘입니다. 가장 간단한 검색 알고리즘이지만, 데이터 집합이 커질수록 검색 시간이 오래 걸리는 단점이 있습니다.

 

이진 검색 (Binary Search)

데이터 집합을 정렬한 후, 중간값을 기준으로 검색하는 알고리즘입니다. 중간값과 찾고자 하는 데이터의 값을 비교하여 찾고자 하는 데이터가 중간값보다 작거나 크다면, 중간값을 기준으로 데이터 집합을 반으로 나누어 검색을 계속 진행합니다. 따라서 데이터 집합이 정렬되어 있다면, 선형 검색보다 빠르게 검색할 수 있습니다.

 

해시 검색 (Hash Search)

데이터의 키값을 해시 함수(Hash Function)를 사용하여 고유한 주소로 변환하여 저장하고, 검색할 때는 해당 주소로 바로 접근하여 데이터를 찾아내는 검색 알고리즘입니다.

해시 검색은 선형 검색이나 이진 검색과 달리 데이터의 정렬 여부와 상관없이 동일한 시간 복잡도로 검색을 수행할 수 있다는 장점이 있습니다. 또한, 데이터의 삽입, 삭제, 수정과 같은 연산도 효율적으로 수행할 수 있습니다.

ai_검색알고리즘
ai 이미지

트리 검색 (Tree Search)

트리 구조로 저장된 데이터를 검색하는 알고리즘입니다. 트리 구조는 계층적인 구조를 가지므로, 데이터의 키값을 기준으로 데이터를 정렬하여 저장할 수 있습니다. 따라서, 검색할 때는 키값을 기준으로 트리를 탐색하여 데이터를 찾아낼 수 있습니다.

 

분산 검색 (Distributed Search)

데이터가 여러 대의 서버에 분산되어 저장되어 있는 경우, 데이터를 검색하기 위한 알고리즘입니다. 분산 검색은 데이터의 양이 많아지거나, 데이터가 여러 대의 서버에 분산되어 저장되어 있는 경우, 검색 성능을 향상시키기 위해 사용됩니다.

검색 알고리즘은 데이터의 종류, 데이터가 저장된 방식, 검색 속도 등에 따라 적절한 알고리즘을 선택하여 사용해야 합니다.

 

선형 검색은 데이터 집합의 크기가 작을 때는 효율적이지만, 데이터 집합의 크기가 커지면 검색 시간이 급격하게 증가하는 단점이 있습니다.

 

이진 검색은 데이터 집합이 정렬되어 있을 때 사용하면 매우 효율적입니다.

 

해시 검색은 데이터의 키값을 고유한 주소로 변환하여 저장하므로, 데이터의 삽입, 삭제, 수정과 같은 연산이 빈번하게 발생하는 경우 매우 효율적입니다.

 

트리 검색은 데이터의 계층적인 구조를 표현해야 하는 경우 매우 효율적입니다.

 

분산 검색은 대용량 데이터를 효율적으로 검색해야 하는 경우에 사용됩니다.