[알고리즘] 계수정렬(counting sort)
오늘은 계수정렬에 대해 알아보겠습니다. 계수정렬은 x보다 작은 원소의 개수가 i-1개 라면, 정렬 후 x는 i번째에 위치해야 한다는 것을 이용합니다. 아래와 같은 arr배열에 있는 수를 정렬해야 한다고 할 때, arr 안에 있는 각 숫자가 몇 개 들어있는지 저장하는 cnt배열이 있습니다. cnt배열의 크기는 (arr 안에 있는 숫자 중 가장 큰 수 - 가장 작은 수 + 1)로 지정할 수 있습니다. cnt배열은 0으로 초기화 해준 뒤, arr 안에 있는 각 숫자가 몇 개 들어있는지 저장해야 합니다. 그 다음 cnt배열의 값들을 누적해서 다시 cnt에 저장하면 그것이 각 수가 저장될 배열의 위치가 됩니다. 이 부분에 맨 처음에 말한 "x보다 작은 원소의 개수가 i-1개 라면, 정렬 후 x는 i번째에 위치해야..
알고리즘
2021. 12. 20. 15:21