오봉이와 함께하는 개발 블로그
기수 정렬(Radix Sort) 본문
728x90
Algorithmday_4 정리 (2021.12.01 수요일)
기수 정렬(Radix Sort)
정렬할 원소의 키 값을 나타내는 숫자의 자리수(radix)를 기초로 정렬하는 기법(사전식 정렬 방법)
정렬하고자 하는 값을 버킷에 넣어 정렬
버킷으로 큐 사용
데이터가 입력되는 곳, 출력되는 곳 : 먼저 들어온 것이 먼저 출력
버킷의 개수는 키의 표현 방법과 밀접한 관계
- 이진법을 사용한다면 버킷은 2개
- 알파벳 문자를 사용한다면 버킷은 26개
- 십진법을 사용한다면 버킷은 10개
기수 정렬 방법
- 첫 번째 패스 (1라운드)
- 정렬할 키의 가장 작은 자리수를 기준으로 분배 정렬
- 두 번째 패스
- 두 번째 작은 자리수를 기준으로 분배 정렬
- 키 값이 같은 경우 이전 정렬에서의 순서를 그대로 유지
- 첫 번째 패스 (1라운드)
키의 가장 큰 자리수까지 반복 수행
한 자리 수의 기수 정렬 수행 예
- 단순히 자리 수에 따라 버킷에 넣었다가 꺼내면 정렬된다.
728x90
'알고리즘 & 자료구조 & 네트워크' 카테고리의 다른 글
탐색(Search) - 순차, 이진, 보간, 이진 트리 (0) | 2021.12.01 |
---|---|
힙 정렬(Heap Sort) (0) | 2021.12.01 |
이원 합병 정렬(Two-way Merge Sort) (0) | 2021.12.01 |
퀵 정렬(Quick Sort) (0) | 2021.12.01 |
쉘 정렬(Shell Sort) (0) | 2021.12.01 |
Comments