728x90
반응형

이진탐색 3

분할 정복(Divide and Conquer)

개요분할 정복(Divide and Conquer)은 큰 문제를 작고 동일한 구조의 하위 문제로 나눈 뒤, 이를 각각 해결하고 결합하여 전체 문제를 해결하는 알고리즘 전략이다. 컴퓨터 과학에서 가장 널리 사용되는 알고리즘 설계 패러다임 중 하나로, 정렬, 탐색, 수학 계산, 동적 프로그래밍 등 다양한 분야에 활용된다. 병렬 처리와 최적화 문제에도 효과적이다.1. 개념 및 정의분할 정복은 다음과 같은 3단계로 구성된다:Divide (분할): 문제를 동일한 구조의 더 작은 하위 문제로 나눈다.Conquer (정복): 각 하위 문제를 재귀적으로 해결한다.Combine (결합): 하위 문제의 해를 결합하여 원래 문제의 해를 도출한다.2. 대표 알고리즘 예시 알고리즘 설명 시간 복잡도 병합 정렬 (Merge S..

Topic 2025.03.29

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

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

Topic 2025.03.29

탐색 알고리즘(Search Algorithms)

개요탐색 알고리즘은 데이터 집합 내에서 특정 값을 찾기 위해 사용되는 알고리즘이다. 효율적인 탐색은 데이터 처리 성능에 직결되며, 자료구조와 문제 특성에 따라 다양한 탐색 방식이 활용된다. 선형 탐색처럼 단순한 방식부터 이진 탐색, 해시 탐색, 그래프 기반 탐색(DFS, BFS), 트리 탐색까지 광범위하게 존재한다. 본 글에서는 탐색 알고리즘의 개념, 종류, 시간 복잡도, 활용 사례를 중심으로 체계적으로 설명한다.1. 개념 및 정의탐색 알고리즘은 주어진 데이터 구조에서 특정 키나 값을 찾는 절차이다. 자료의 정렬 여부, 크기, 구조에 따라 탐색 방식의 효율이 달라지며, 경우에 따라 최적화된 알고리즘 선택이 중요하다.2. 탐색 알고리즘의 분류 분류 설명 적용 자료구조 선형 탐색데이터를 처음부터 끝까지 ..

Topic 2025.03.28
728x90
반응형