계수정렬 2

정렬 알고리즘

[정렬 알고리즘 이란?] 정렬(Sorting이란 데이터를 특정한 기준에 따라 순서대로 나열하는 것이다. 정렬 알고리즘의 종류는 선택 정렬, 삽입 정렬, 퀵 정렬, 계수 정렬 등이 있다. 7 5 1 2 4 6 3 위와 같이 각각의 수가 존재할 때 기본적으로 오름차순으로 수를 정렬한다면 아래와 같다. 1 2 3 4 5 6 7 내림차순 또한 마찬가지로 정렬한다면 아래와 같다. 7 6 5 4 3 2 1 이와 같이 우리는 특정한 수들이 존재할 때 정렬을 금방 수행할 수 있지만, 컴퓨터는 인간과 다르게 데이터의 규칙성을 직관적으로 알 수 없으며, 어떻게 정렬을 수행할지에 대한 과정을 소스코드로 작성하여 구체적으로 명시해야 한다. [선택 정렬] 선택 정렬은 현재의 범위에서 가장 작은 데이터를 선택하여 맨 앞에 있는 ..

계수 정렬(Counting Sort)

계수 정렬은 크기를 기준으로 개수를 세는 것이며, 범위조건이 있는 경우에 한해서 사용된다. 5이하의 자연수 데이터들이 있다고 가정할 때, 계수 정렬은 배열 첫번째 요소부터 시작하여 해당 값이 등장할 경우 개수를 하나씩 증가시킨다. 1, 3, 2, 4, 3, 2, 5 --> 1개, 0개, 0개, 0개, 0개 1, 3, 2, 4, 3, 2, 5 --> 1개, 0개, 1개, 0개, 0개 1, 3, 2, 4, 3, 2, 5 --> 1개, 1개, 1개, 0개, 0개 1, 3, 2, 4, 3, 2, 5 --> 1개, 1개, 1개, 1개, 0개 1, 3, 2, 4, 3, 2, 5 --> 1개, 1개, 2개, 1개, 0개 1, 3, 2, 4, 3, 2, 5 --> 1개, 2개, 2개, 1개, 0개 1, 3, 2, 4,..