이코테/이진 탐색

배열 내부의 데이터가 정렬되어 있을 때 O(logN)의 시간 복잡도로 원하는 값을 찾을 수 있는 이진 탐색에 대해 알아보자. 이진 탐색(Binary Search) 이진 탐색은 배열 내부의 데이터가 정렬되어 있는 경우에만 사용할 수 있는 알고리즘이다. 이진 탐색은 탐색 범위를 절반씩 좁혀가며 데이터를 탐색한다. 이진 탐색에서는 시작점, 중간점, 끝점으로 3개의 변수를 사용한다. 찾으려는 데이터와 중간점 위치에 있는 데이터를 반복해서 비교해서 원하는 데이터를 찾는다는 컨셉이다. 대충 이런 느낌이다. 코드를 살펴보면 이해가 될 것이다. def binary_search(arr, target, start, end): if start > end: return None mid = (start+end)//2 if ar..
aodtns
'이코테/이진 탐색' 카테고리의 글 목록