선형 검색 알고리즘은 목록에서 특정 요소를 찾는 데 사용되는 간단한 방법입니다. 이 알고리즘은 원하는 요소를 찾거나 전체 목록을 탐색할 때까지 목록의 각 요소를 순차적으로 확인하여 작동합니다.
작동 방식
- 목록의 첫 번째 요소부터 시작합니다.
- 현재 요소를 대상 값과 비교합니다.
- 현재 요소가 대상 값과 같으면 알고리즘이 종료되고 요소의 위치를 반환합니다.
- 그렇지 않은 경우 목록의 나머지 요소를 계속 반복합니다.
- 대상 요소를 찾지 않고 전체 목록을 순회하는 경우 알고리즘은 찾을 수 없음을 나타내는 값을 반환합니다.
예
정수 목록이 있고 목록에서 숫자 34를 찾고 싶다고 가정해 보겠습니다.
목록: {12, 45, 67, 89, 34, 56, 23, 90}
- 첫 번째 요소에서 시작: 12. 원하는 번호가 아닙니다.
- 다음 요소로 이동: 45. 원하는 번호가 아닙니다.
- 나머지 요소(67, 89, 34)로 계속 진행합니다. 요소 34는 원하는 숫자와 일치합니다.
- 알고리즘이 종료되고 위치 34, 즉 4를 반환합니다.
C++의 예제 코드
주어진 예에서 우리는 linearSearch
정수 목록에서 숫자 34를 찾는 함수를 사용했습니다. 결과는 목록에서 34번째 위치(0부터 시작하는 위치) 또는 숫자를 찾을 수 없는 경우 -1이 됩니다.