본문 바로가기

Data Structure/Algorithm

Sort Algorithm - Insertion Insertion - 맨 첫번째 index의 element부터 앞방향으로 들어갈 위치를 찾아 교환하는 방식 - 배열이 정렬된 상태일수록 성능이 좋아진다. - 설명3 Java예시 - for(int i = 1; i=0 && tmp =0 ) 동시에(&&) 앞서 선택한 index의 value(tmp)가 바로 앞 index의 value ( array[j] )보다 작으면( j>=0 && tmp < array[j] ), 아까 선택한 index의 값( array[j+1] = array[i])에 바로 앞 index의 value( array[j] )를 할당한다.( array[j+1] = arr.. 더보기
Sort Algorithm - Selection Selection - 맨 앞index를 선택한 후 나머지 index랑 값을 비교해서 정렬 - 교환 횟수는 가장 적고, 비교도 모두 진행함 - Bubble Sort보다는 성능이 좋다. Java예시 - public static void Selection(int[] array) : array 안에서 sort할 것이므로 매개변수로 array를 1개 받는다. - for(int i = 0; i 더보기
Sort Algorithm - Bubble Bubble - Sort Algorithm 중 가장 간단하지만, 속도가 느리다. - 2개 index선택 하고, 값 비교해서 오름차순이든 내림차순이든 정렬된 상태면 pass, 아니라면 swap 이용해 element의 위치 변경 - 오름차순(ASC)설정 : ab - Complexity Time : Worst, Average, Best : O(n^2) Space : O(1) Java예시 - public static void Bubble(int array[]) : 배열 안에서 sort할 것이므로 매개변수로 array를 1개 받는다. - for(int i = 0; i array[i+1]) {swap(array,i,i+1)} : 만약 앞의 element( array[i] )가 뒤의 element( array[i+1.. 더보기
Algorithm - swap() Swap함수 - 정렬Algorithm에서 자주 사용되는 기본 함수 ​ - 배열의 2개의 index의 element를 교환하는 method (ex) [1,2] -> swap -> [2,1] 이렇게 만든다.​ JAVA예시 ​ *비유를 위해 [1,2]라는 배열이 있다고 가정 ​ public static void swap(int[] array, int index1, int index2) = 1개의 배열에 2개의 index를 이용해 원소를 교환할 것이므로, 배열 1개와 index 2개를 매개변수로 선언 *가정 [1,2]배열, index1 : 1(값, element), index2 : 2(값, element) ​ int a = array[index1]; = a라는 정수형 변수에 array배열의 index1번째 자리.. 더보기