본문 바로가기
Python/알고리즘 공부

선형 탐색 / 이진 탐색

by hooni40 2021. 4. 26.
728x90
반응형

언젠가 칠지도 모르는 코딩테스트 준비 및 개발자라면 알고리즘은 필수로 알아야하기에 배운 것들을 정리하려합니다.

틀린 내용 및 부족한 내용이 있을 수 있다면 댓글 달아주시면 수정 및 추가하도록 하겠습니다!

 

 

우선 오늘은 탐색방식 중에 2가지(선형 탐색/이진 탐색)를 확인해 보겠습니다

선형 탐색(Linear Search) : 리스트의 처음부터 끝까지 하나씩 탐색을 진행하는 것입니다. 아래 예시를 먼저 보시죠!

리스트 내에서 8을 찾을때 위와같이 4회만에 8을 찾은 것이 확인이 됩니다.

 

이진 탐색(Binary Search) : 이진 탐색 알고리즘은 선형 탐색 알고리즘과 달리, 정렬된 리스트를 전제로 합니다. 정렬된 리스트가 아니면 이 알고리즘은 적용이 불가능합니다. 여기서 이진의 의미는 한번 적용할때마다 탐색범위가 절반이 되기 때문입니다!

위에 보시면 단 2번 만에 8을 찾은 것을 확인할 수 있습니다!

 

하지만 이진 탐색의 단점은 리스트가 정렬이 되어있어야 합니다 ㅠㅠ

그럼 다음 시간에는 정렬방식에 대해 알아보겠습니다!

 

728x90
반응형

'Python > 알고리즘 공부' 카테고리의 다른 글

시간 복잡도(2)  (0) 2021.05.01
시간 복잡도  (0) 2021.04.30
선택 정렬 / 삽입 정렬  (0) 2021.04.28

댓글