Counting sort(계수 정렬)
2018. 8. 30. 15:13
계수정렬에는 세개의 배열이 필요하다. 우선 정렬해야할 수들을 담은 array1최대 값을 기준으로 숫자들의 누적합을 담을 array2마지막으로 정렬된 수를 담을 array3이다. 예를들어 최대 값이 5라면 array2에는 0부터 5까지 index를 이용해 6가지 수의 개수를 표현할 수 있다.array1을 [4,1,0,1,1,2,1,2]라고 하자.우선 array2를 누적합이 아닌 index를 숫자로, value를 개수로 생각하면 [1,4,2,0,1,0]인 배열이 된다.이를 누적합으로 표현하면 [1,5,7,7,8,8]로 나타낼 수 있다.누적합은 0번째 index에서 시작하여 이전 index와의 합으로 누적합을 구한다. 마지막으로 array3에 정렬된 수를 넣기 위한 작업이 있다.array1의 맨 우측부터 시작..