제로베이스

알고리즘 - 탐색 본문

알고리즘

알고리즘 - 탐색

코드킴 2023. 8. 28. 23:40

탐색이란?

 

저장된 정보들 중에서 원하는 값을 찾는 것이다.

 

📍 선형 탐색 알고리즘

 

• 검색 방법 : 주어진 배열에서 값을 검색하는 가장 간단한 방법은 배열의 모든 요소를 살펴보고 원하는 값인지 확인하는 것이다.

 

맨 앞부터 끝까지 차례대로 찾아 나간다.

 

검색할 리스트의 길이가 길면 길수록 비효율적이지만 단순하여 구현이 굉장히 쉽다.

 

정렬되지 않은 리스트에서도 사용할 수 있다.

 

선형 탐색은 데이터를 찾기 위해 데이터를 하나씩 모조리 검사하므로 시간 복잡도는 최악의 경우 O(n)이다.

 

 

📍 이진 탐색 알고리즘

 

• 검색 방법 : 정렬된 리스트에서 특정 값의 위치를 찾는다.

 

처음 중간의 값을 택하여, 해당 값과 찾고자 하는 값의 크고 작음을 비교하는 방식을 채택하고 있다.

 

처음 선택한 중앙값이 만약 찾는값보다 크다면 그 값은 새로운 최댓값이 되며, 작으면 그 값은 새로운 최솟값이 된다.

 

검색 원리상 정렬된 리스트에만 사용할 수 있다.

 

검색이 반복될 때마다 목표 값을 찾을 확률이 배가 되므로 속도가 빠르다는 장점이 있다.

 

선형 탐색은 계속해서 반으로 쪼개며 탐색하기 때문에 시간 복잡도가 최악의 경우에도 O(log n)이다.

 

'알고리즘' 카테고리의 다른 글

알고리즘 - 재귀  (0) 2023.08.30
알고리즘 - 정렬  (1) 2023.08.29
알고리즘 - 시간 복잡도  (0) 2023.08.29