![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNhuNw%2FbtrZYRu71Jt%2FKB0BjTaBGmP7nXVjfph30k%2Fimg.png)
알고리즘/이론
[JAVA] 카운팅 정렬 step3 완벽 이해
내가 이해하기 어려웠던 카운팅 정렬... 하나씩 따라쳐보며 이해하기 ! 1. 서론 int[] arr = {5, 2, 4, 1, 2, 3, 3}; 해당 배열을 오름차순으로 재배치하기 위해서 [버블 정렬, 선택정렬] 등 많이 있겠지만 이는 O(n^2)의 시간복잡도, 빅오를 가져서 효율적인 정렬 방법과는 뒤떨어진다. 하지만 카운팅 정렬은 항목들의 순서를 결정하기 위해 집합에 각 항목이 몇 개씩 있는지 세는 작업을 하여, 선형시간(O(n+k))에 정렬하는 효율적인 알고리즘이다. n은 배열의 길이, k는 정수의 최대값이다. 2. 카운팅 정렬 import java.util.Arrays; public class 카운팅정렬 { public static void main(String[] args) { int[] arr ..