728x90
반응형

계수정렬 2

계수 정렬(Counting Sort) 알고리즘

개요계수 정렬(Counting Sort)은 정수 데이터가 주어진 범위 내에 존재할 때, 매우 빠르게 정렬할 수 있는 비교 기반이 아닌 정렬 알고리즘이다. 데이터의 빈도수를 카운트 배열에 저장하고, 이를 기반으로 정렬된 결과를 생성하는 방식으로, 평균 시간 복잡도 **O(n + k)**의 매우 빠른 성능을 제공한다. 단, 정수 범위가 제한적일 때만 효율적이다.1. 개념 및 정의계수 정렬은 다음 절차로 이루어진다:입력 배열에서 최댓값(K)을 기준으로 길이 K+1짜리 카운트 배열 생성각 원소의 빈도수를 카운트 배열에 저장카운트 배열을 누적합으로 변경 (누적합 정렬 시 사용)누적합을 기반으로 정렬된 결과 배열에 삽입음수 데이터에는 직접 사용할 수 없고, 변환이 필요하다.2. 동작 원리 단계 설명 1입력 배열에..

Topic 2025.03.29

정렬 알고리즘(Sorting Algorithms)

개요정렬 알고리즘은 데이터 집합을 일정한 기준(숫자 크기, 알파벳 순 등)에 따라 순서대로 정렬하는 알고리즘이다. 효율적인 정렬은 데이터 검색, 최적화, 통계 처리 등에서 성능 향상에 큰 영향을 미친다. 정렬 방식에 따라 내부 정렬, 외부 정렬, 안정 정렬, 불안정 정렬로 나뉘며, 시간/공간 복잡도에 따라 선택이 달라진다. 본 글에서는 대표적인 정렬 알고리즘들의 개념, 성능, 특징 및 활용 사례를 중심으로 정리한다.1. 정렬 알고리즘의 분류 분류 기준 유형 설명 구현 방식비교 기반 정렬요소 간 비교를 통해 순서 결정 (버블, 삽입, 병합 등)비비교 기반 정렬키 값을 직접 계산해 정렬 (계수, 기수 정렬)메모리 사용내부 정렬주 메모리 내에서 정렬 수행 (일반적인 정렬)외부 정렬디스크 등 외부 저장소에서..

Topic 2025.03.28
728x90
반응형