728x90
반응형

정렬비교 3

퀵 정렬(Quick Sort) 알고리즘

개요퀵 정렬(Quick Sort)은 평균적으로 매우 빠른 성능을 자랑하는 비교 기반 정렬 알고리즘으로, 분할 정복(Divide and Conquer) 전략을 사용한다. 주어진 배열에서 기준이 되는 **피벗(Pivot)**을 기준으로 좌우로 나누고, 이를 재귀적으로 정렬해 전체 배열을 정렬하는 방식이다. 내부 정렬 중 가장 널리 사용되며, 실무에서도 많이 활용되는 알고리즘이다.1. 개념 및 정의퀵 정렬은 다음과 같은 방식으로 작동한다:피벗(pivot)을 하나 선택한다피벗보다 작은 값은 왼쪽, 큰 값은 오른쪽으로 분할각 파티션(partition)에 대해 재귀적으로 퀵 정렬 수행병합은 따로 필요 없음 (자리 교환으로 해결)2. 동작 원리 단계 설명 1피벗을 선택한다 (보통 처음, 마지막, 중간 또는 랜덤)2..

Topic 2025.03.29

병합 정렬(Merge Sort) 알고리즘

개요병합 정렬(Merge Sort)은 데이터를 반으로 나누고 각각을 정렬한 뒤 다시 병합하는 분할 정복(Divide and Conquer) 전략을 사용하는 효율적인 정렬 알고리즘이다. 안정 정렬이며, 항상 **O(n log n)**의 시간 복잡도를 유지해 정렬 알고리즘 중에서도 높은 성능과 예측 가능성을 보인다. 내부 정렬과 외부 정렬(External Sort) 모두에 활용되며, 대용량 데이터 정렬에도 적합하다.1. 개념 및 정의병합 정렬은 다음 과정을 반복하여 배열을 정렬한다:배열을 반으로 나눈다 (재귀적으로)각각을 병합 정렬로 정렬한다정렬된 두 부분 배열을 하나로 병합한다병합 시에는 두 정렬된 배열을 비교하여 하나의 정렬된 배열로 합친다.2. 동작 원리단계설명1배열을 재귀적으로 반씩 나눔2분할된 배열..

Topic 2025.03.29

버블 정렬(Bubble Sort) 알고리즘

개요버블 정렬(Bubble Sort)은 가장 간단하고 직관적인 정렬 알고리즘 중 하나로, 인접한 두 원소를 비교하여 큰 값을 뒤로 보내는 방식으로 동작한다. 반복적으로 배열을 순회하며 작은 값을 앞쪽으로, 큰 값을 뒤쪽으로 '버블처럼' 이동시키는 방식에서 그 이름이 유래되었다. 구현이 쉬워 교육용으로 자주 사용되며, 소규모 데이터나 정렬이 거의 완료된 배열에 적합하다.1. 개념 및 정의버블 정렬은 인접한 두 값을 반복 비교하고, 순서가 잘못된 경우 교환(swap)하여 정렬하는 방식이다. 전체 배열을 여러 번 순회하면서 가장 큰 값을 맨 끝으로 보내고, 점점 정렬 범위를 줄여나간다.2. 동작 원리 단계 설명 1첫 번째 요소부터 인접한 두 값을 비교2큰 값을 오른쪽으로 교환3배열 끝까지 반복 후, 가장 큰..

Topic 2025.03.28
728x90
반응형