반응형
Notice
Recent Posts
Recent Comments
Link
불로구
알고리즘 - 선택 정렬(JAVA) 본문
반응형
선택 정렬
- 제자리 정렬 알고리즘의 하나로서, 리스트 중 최솟값을 찾아서 맨 앞에 위치한 값과 교체한다.
- 맨 처음 위치를 빼고 나머지 리스트들도 위와 같은 방법으로 교체를 하는 알고리즘이다.
시간 복잡도
- 시간 복잡도는 O(n^2)
장단점
장점
데이터의 이동이 미리 정해진다!
단점
안정성을 만족하지 않는다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Test{
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] arr = new int[5];
for(int i=0; i<arr.length; i++){
arr[i] = Integer.parseInt(br.readLine());
}
Ssort(arr);
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void Ssort(int[] arr) {
int indexMin, temp;
for (int i = 0; i < arr.length - 1; i++) {
indexMin = i;
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[indexMin]) {
indexMin = j;
}
}
temp = arr[indexMin];
arr[indexMin] = arr[i];
arr[i] = temp;
}
System.out.println(Arrays.toString(arr));
}
}
알고리즘 추천도서
반응형
'프로그래밍 > 알고리즘' 카테고리의 다른 글
(JAVA) 알고리즘 - 퀵 정렬 (0) | 2021.03.15 |
---|---|
JAVA 알고리즘 - 브루트포스 알고리즘을 이용한 문자열 검색 (0) | 2021.03.06 |
[ 자바 알고리즘/자료구조] - 스택 (Stack) <2> (0) | 2021.02.16 |
[ 자바 알고리즘/자료구조] - 스택 (Stack) <1> (0) | 2021.02.13 |
[ 자바 알고리즘/자료구조] - 시간복잡도 && 공간복잡도 (0) | 2021.02.13 |
Comments