etc

순차 탐색 ? 이진 탐색?

고민말고생각하는사람 2024. 2. 17. 20:07

순차탐색

처음부터 끝까지 하나씩 이동하면서 지정 값을 탐색하는 것.

for문이라던가 그런 거

앞에서 시작해서 뒤로 끝나던,

뒤에서 시작해서 앞으로 끝나던.

 

단점 : 데이터가 많을수록, 찾는 데이터의 위치가 구석져 있을수록 느림.

ex)

앞에서 시작했는데 찾는 값이 거의 뒤 끝에 있는 경우.

뒤에서 시작했는데 찾는 값이 거의 앞에 있는 경우 등. 

 

이진 탐색

에이터를 찾는 목록을 반으로 쪼개고, 쪼개고 쪼개는 식으로 탐색해 나가는 방식

반드시 정렬(sort)가 돼 있어야 함. (정렬하지 않을 경우, 이상한 값이 튀어 나옴.)

 

장점

- 순차정렬보다 검색 횟수가 현저히 줄어듦.

단점

- 정렬작업이 반드시 필요하므로, 처음 준비에 비용이 많이 발생함.