Algorithm/기본

선택 정렬(selection sort)

leedg36 2021. 4. 25. 13:49
반응형

개념

- 배열에서 최소값을 선택하여 제일 앞으로 이동시켜 정렬하는 알고리즘.

private void selectionSort(int[] list, ParamMap paramMap) {
	int indexMin, temp;
	// 1. 배열의 최소값 위치 설정(indexMin)
	for (int i=0; i<list.length-1; i++) {
		indexMin = i;
		// 2. 탐색 중, 기존 최소값보다 작은 값이 존재한다면, 해당 값이 존재하는 위치를 최소값 위치로 설정
		for (int j=i+1; j <list.length; j++) {
			if (list[j] < list[indexMin]) {
				indexMin = j;
			}
		}
		// 3. 최소값이 존재하는 위치와 현재 정렬을 수행하는 위치의 값을 서로 교환(swap)
		temp = list[indexMin];
		list[indexMin] = list[i];
		list[i] = temp;
	}
}

 

시간복잡도는 O(n^2)

반응형