정렬 알고리즘-SelectionSort(java)

less than 1 minute read

Selection Sort 알고리즘

- 선택정렬 : 작은것을 찾아 맨앞으로 보내는 알고리즘

10 + 9 + 8 + 7 +… + 1
10 * (10 + 1) / 2 = 55 번 동작
=> N * (N+1) / 2
시간복잡도 : O(N^2)
    public class SelectionSort {
	public static void main(String[] args) {
		int array[] = {2,5,9,1,7,3,4,10,8,6};
		int i,j,min,temp;
		int index=0;
		

		for(i=0;i<10;i++) { //기준이되는애
			min = 9999;
			for(j=i;j<10;j++) {//앞에가 점점 줄어들음 끝까지돌면서 비교하는애(앞은 정렬되어있음)
				if(min>array[j])
				{
					min = array[j];
					index = j;
				}
			}
			temp = array[i];
			array[i]=array[index];
			array[index]=temp;			
		}
		for(int a=0;a<array.length;a++)
		{
			System.out.print(array[a]+" ");
		}
	}

}
실행 결과

image-20200219205017319

Comments