[알고리즘]계수정렬


[알고리즘]계수정렬

계수정렬Counting Sort을 한마디로 표현하면, 데이터에 의존하는 정렬 방식입니다. 지금까지 정렬 방식을 보면 사용자가 정한 특정한 기준에 따라 정렬 했습니다. 계수정렬C의 경우에는, 각 데이터 값의 빈도수를 가지고 정렬 합니다. 예를들어, 아래 왼쪽의 데이터들의 빈도수를 나타내면 아래와 같습니다. 계수정렬의 과정 계수정렬의 과정은 2가지 과정으로 이뤄집니다. 각 데이터의 빈도수를 카운팅 합니다. 우선순위가 높은 데이터부터, 카운팅한 만큼 출력 합니다. 실제 데이터를 가지고, 정렬하는 과정을 한번 보겠습니다. 1단계 원본 데이터 입니다. 해당 데이터를 카운팅 정렬로 정렬해보겠습니다. 2단계 해당 데이터의 각 값에 대해 빈도수를 카운팅 합니다. 3단계 ①을 넣습니다. ①은 개수가 2개이므로 맨 앞부터 2개 넣습니다. 4단계 ②를 넣습니다. ②는 개수가 2개이므로 ①을 삽입한 영역 바로 뒤에서 부터, 2개 넣습니다. 5단계 ③을 넣습니다. ③은 개수가 1개이므로 ②를 삽입한 영역 ...


#계수정렬 #알고리즘 #카운트정렬 #프로그래밍테스트

원문링크 : [알고리즘]계수정렬