이진 탐색(Binary Search) 알고리즘 - C언어, Java, Python 예시코드, UpperBound, LowerBound
이진 탐색(Binary Search)이진 탐색(Binary Search)은 정렬된 배열에서 원하는 값을 빠르게 찾아내는 효율적인 알고리즘입니다. 이진 탐색은 중간값을 반복적으로 비교하며 탐색 범위를 반으로 줄여 나가므로, 데이터의 크기가 클수록 매우 효과적입니다. 1. 이진 탐색의 개념이진 탐색은 다음의 과정을 통해 동작합니다:배열의 중간값을 확인합니다.찾고자 하는 값이 중간값보다 작으면 탐색 범위를 왼쪽 절반으로 좁힙니다.찾고자 하는 값이 중간값보다 크면 탐색 범위를 오른쪽 절반으로 좁힙니다.원하는 값을 찾을 때 까지 위 과정을 반복합니다.이진 탐색은 정렬된 배열에서만 동작한다는 점에 유의해야 합니다. 2. 이진 탐색의 동작 원리초기 배열: [1, 3, 5, 7, 9, 11], 찾고자 하는 값: 7중간..
2024. 12. 19.
DFS(깊이 우선 탐색)와 BFS(너비 우선 탐색) 알고리즘 비교(차이점, 장단점, 예시코드, 활용도)
2024.12.19 - [알고리즘] - DFS (깊이 우선 탐색, Depth-First Search) 알고리즘 - C언어, Java, Python 예시코드, 시간복잡도 DFS (깊이 우선 탐색, Depth-First Search) 알고리즘 - C언어, Java, Python 예시코드, 시간복잡도DFS(Depth-First Search)는 그래프나 트리에서 널리 사용되는 탐색 알고리즘으로, 시작 정점에서 한 경로를 끝까지 탐색한 후에 다른 경로로 이동하는 방식으로 동작합니다. 모든 경로를 탐색하거나best-coding.tistory.com2024.12.19 - [알고리즘] - BFS(너비 우선 탐색, Breadth-First Search) 알고리즘 - C언어, Java, Python 예시코드 포함, 시간복..
2024. 12. 19.