cs/cs지식

linear search and binary search

자코린이 2023. 6. 22. 02:19

linear search 는 for 문을 사용하여 배열에서 해당값을 찾는 알고리즘 입니다.

이는 기본적인 알고리즘으로 보통 많이 사용합니다.

하지만 시간복잡도가 O(n) 이므로 시간이 오래 걸릴 수 있습니다.

 

이를 해결하기 위해 binary search(이진탐색)가 나왔습니다.

배열의 처음과 마지막의 중간값을 비교하여 찾는값이 중간값보다 크면 중간 ~ 끝까지

중간~끝 의 중간보다 크면 그 중간의 오른쪽으로 넘어가는 방법입니다.

따라서 시간이 1/2씩 단축되는 효과가 있습니다.

이를 시간복잡도로 나타내면 (1/2)^k * n 이므로 O(log n) 이 됩니다.

*주의 : 이진탐색은 쪽 정렬된 배열에서 사용하세요!!!

 

참조: https://www.youtube.com/watch?v=J3hM7xE9aFc 

https://www.youtube.com/watch?v=ajINjfQL9gQ 

https://jwoop.tistory.com/9

 

이진 탐색과 시간 복잡도 분석 (Binary Search and its Time Complexity Analysis)

오늘 다뤄 볼 주제는 바로 "이진 탐색(Binary Search)" 입니다. 높은 효율을 자랑하며 실제로 자주 쓰이는 알고리즘인데요, 과연 이진 탐색이라는 게 무엇인지 한번 알아봅시다! - 이진 탐색(Binary Searc

jwoop.tistory.com

 

'cs > cs지식' 카테고리의 다른 글

DFS 와 BFS  (0) 2023.06.27
Linked List (연결 리스트)  (0) 2023.06.20
BIG-O 표기법  (0) 2023.06.20