선택 정렬(Selection Sort)

박병주·2023년 3월 8일
0

알고리즘

목록 보기
3/6

선택 정렬

가장 작은 것을 선택해서 앞으로 보냄

 	int i, j, min,  temp;
    int index = 0;
    int array[] = {1,10,5,8,7,6,4,3,2,9};
 	for(i = 0; i<array.length; 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;
        }

배열의 길이가 10일 경우
10 + 9 + 8 + ... + 1
N*(N+1)/2 -> O(N^2)
즉 만개의 데이터라면 대략 1억번의 연산을 한다.
구현이 간단하나 비효율적인 알고리즘이라 할 수 있다.

profile
응애

0개의 댓글