목록Study/Algorithm 5
MW LAB
1234567891011121314151617181920212223public class CountingSort { public static void main(String args[]){ int arr[] = Common.makeArr(10, 10); Common.showArr(arr); Common.showArr(sort(arr,11)); // k=11 => 1~10 까지의 정수 } public static int[] sort(int[] arr,int K){ int N = arr.length; int[] C = new int[K]; // 원소의 빈도수를 저장할 배열 int[] B = new int[N]; // 결과를 저장할 배열 for(int i = 0 ; i * 공간 복잡도 => * K 와 N 의 크..
12345678910 public static void sort(int[] arr){ for(int i = 1 ; i arr j =i ; arr[j] 와 arr[j-1] 를 비교 for(int j = i ; j > 0 && arr[j]>arr[j-1]; j--){ int temp = arr[j]; arr[j] = arr[j-1]; arr[j-1] = temp; } } } 1) 2번 째 인덱스[ j ] 원소 부터 뒤에서 앞으로 가며 비교대상 인덱스[ j-1 ] 의 원소 와 비교2) 현재 인덱스 [ j ] 원소가 비교대상[ j-1 ] 원소 보다 작으면 스왑2-1) 현재 인덱스 [ j ] 원소가 비교대상[ j-1 ] 원소 보다 크면 반복문의 탈출 BestCase 의 시간복잡도는 정렬이 되어 있을 때 바로앞의 ..