728x90
반응형

파이썬탐색 2

이진 탐색(Binary Search) 알고리즘

개요이진 탐색(Binary Search)은 정렬된 데이터에서 중간 값을 기준으로 절반씩 범위를 줄여가며 값을 찾는 탐색 알고리즘이다. 선형 탐색보다 훨씬 빠른 **O(log n)**의 시간 복잡도를 가지며, 배열이나 리스트에서 특정 값을 빠르게 찾아야 할 때 가장 널리 쓰이는 탐색 방식 중 하나다.1. 개념 및 정의이진 탐색은 다음과 같은 절차로 작동한다:데이터가 반드시 오름차순 또는 내림차순으로 정렬되어 있어야 한다.시작점(left)과 끝점(right)을 설정하고, 중간값(mid)을 계산한다.mid 위치의 값과 찾는 값을 비교한다.일치 → 탐색 성공더 작음 → right = mid - 1더 큼 → left = mid + 1범위가 좁아질 때까지 반복한다.2. 동작 원리 단계 설명 1시작 인덱스와 끝 인..

Topic 2025.03.29

선형 탐색(Linear Search) 알고리즘

개요선형 탐색(Linear Search)은 데이터를 처음부터 끝까지 순차적으로 확인하며 찾고자 하는 값을 찾는 가장 기본적인 탐색 알고리즘이다. 정렬 여부와 상관없이 사용 가능하며, 구현이 매우 간단해 초보자에게 적합하다. 다만, 데이터가 많아질수록 탐색 시간이 오래 걸릴 수 있어 효율적인 대안이 필요한 경우도 있다.1. 개념 및 정의선형 탐색은 다음과 같은 방식으로 동작한다:배열이나 리스트의 첫 번째 요소부터 마지막까지 반복하며 탐색 대상과 비교찾는 값이 일치하면 해당 인덱스를 반환끝까지 탐색했는데 없으면 -1 또는 None 반환2. 동작 원리 단계 설명 1i = 0부터 시작하여 arr[i]와 target 비교2일치하면 i 반환, 아니면 다음 인덱스로 이동3모든 요소를 확인할 때까지 반복4없다면 실패..

Topic 2025.03.29
728x90
반응형