-
선택정렬 (Selection Sort)Computer Science/Algorithm 2020. 4. 7. 08:48
[ 선택정렬 ]
- 맨 앞부터 차례대로 데이터 수만큼 비교하여 작은값을 앞으로 보내면서 정렬하는 방법.
- 시간복잡도 : O(n^2)
- sample code
/** * 선택정렬 알고리즘: 배열중 가장 작은수를 앞으로 보내면서 정렬 * 시간복잡도 : O(n^2) * 비효율적인 정렬 알고리즘. */ public class SelectionSort { public static int[] selectSort(int[] inputArrays) { int min, index = 0, temp; for(int i=0; i<inputArrays.length; i++) { min = 99999; for(int j=i; j<inputArrays.length; j++) { if(min > inputArrays[j]) { min = inputArrays[j]; index = j; } } temp = inputArrays[i]; inputArrays[i] = inputArrays[index]; inputArrays[index] = temp; } return inputArrays; } public static void main(String[] args) { int[] inputArray = {3, 5, 1, 6, 7, 10, 9, 2, 4, 8}; int[] results = selectSort(inputArray); for(int result: results) { System.out.println(result); } } }