Algorithm 2

이진 검색 (Binary Search)

『누구나 자료구조와 알고리즘 (개정2판)』을 참고하여 공부했습니다. 📘 개념 정리이진 검색(Binary Search)은 정렬된 배열에서만 사용할 수 있는 강력한 검색 알고리즘입니다.배열의 중앙값을 기준으로 비교하면서, 찾는 값이 왼쪽에 있을지 오른쪽에 있을지를 판단하여탐색 범위를 절반씩 줄여나가는 방식으로 작동합니다. 즉, 매 단계마다 검색 범위를 절반으로 줄이기 때문에,시간 복잡도는 O(log n)으로, 선형 검색(O(n))보다 훨씬 빠릅니다. 💻 파이썬 코드 # 이진 검색 (Binary Search)def binary_search(array, search_value): # 먼저 찾으려는 값이 있을 수 있는 상한선과 하한선을 정한다. # 최초의 상한선은 배열의 첫 번째 값, 하한선..

Algorithm 2025.10.11

정렬된 배열의 검색 (Linear Search for Sorted Array)

『누구나 자료구조와 알고리즘 (개정2판)』을 참고하여 공부했습니다. 📘 개념 정리배열에서 원하는 값을 찾는 방법은 여러 가지가 있습니다.그중 선형 검색(linear search) 은 가장 단순한 방법으로, 배열의 처음부터 끝까지 순서대로 하나씩 비교하며 원하는 값을 찾습니다. 하지만 배열이 정렬되어 있다면 조금 더 효율적으로 탐색을 멈출 수 있습니다.예를 들어 [3, 17, 75, 80, 202]에서 22를 찾을 때,75에 도달하면 이미 22보다 크기 때문에 더 이상 검색할 필요가 없습니다.→ 즉, 정렬된 배열은 검색 중간에 빠르게 종료할 수 있다는 장점이 있습니다. 💻 파이썬 코드 def linear_search(array, search_value): """ 정렬된 배열에서 특정 값을 ..

Algorithm 2025.10.08