자격증/정보처리기사
[정보처리기사 필기 - 정렬] 버블정렬, 선택정렬, 삽입정렬
우당탕카멜레온
2024. 3. 28. 23:51
1. 버블 정렬 (Bubble Sort)
방법)
- 앞에서 부터 순서대로 진행
- 숫자가 이미 정렬이 되어있다면 변경 X , 왼쪽의 숫자가 더 크면 자리 변경
* 서로 인접한 두 개를 비교해간다는 것이 특징.
2. 선택 정렬 (Select Sort)
방법)
- 전체 숫자를 보고 가장 작은 숫자를 골라서 맨 앞자리 배치.
- 그 다음으로 작은 숫자를 찾아서 두번째자리 배치
- 위 과정을 반복하면서 정렬.
의문) 맨 앞자리가 제일 작은 숫자일 경우는?
2 8 4 7 6 같은 경우에는 변경되는 순서
- 첫 번째 회차:
- 주어진 배열: 2 8 4 7 6
- 최솟값은 2입니다. 따라서 2를 첫 번째 위치로 이동합니다.
- 정렬된 배열: 2 8 4 7 6
- 두 번째 회차:
- 주어진 배열: 8 4 7 6
- 최솟값은 4입니다. 따라서 4를 두 번째 위치로 이동합니다.
- 정렬된 배열: 2 4 8 7 6
- 세 번째 회차:
- 주어진 배열: 8 7 6
- 최솟값은 6입니다. 따라서 6을 세 번째 위치로 이동합니다.
- 정렬된 배열: 2 4 6 7 8
- 네 번째 회차:
- 주어진 배열: 8 7
- 최솟값은 7입니다. 따라서 7을 네 번째 위치로 이동합니다.
- 정렬된 배열: 2 4 6 7 8
- 다섯 번째 회차:
- 주어진 배열: 8
- 8은 이미 가장 큰 값이므로 이동하지 않습니다.
- 정렬된 배열: 2 4 6 7 8
마지막 회차에는 이동이 없음으로 최종 4번만에 정렬이 완료!
3. 삽입 정렬
방법)
- 숫자를 하나씩 비교
- 해당 숫자가 더 작은 숫자가 없을 때까지 앞으로 보내서 자리를 찾아줌
- 원래 자리에서 하나씩 숫자칸이 밀리게 됌.
정렬알고리즘에 대한 자세한 설명은
아래 블로그 참조
버블 정렬 : https://gmlwjd9405.github.io/2018/05/06/algorithm-bubble-sort.html
선택 정렬 : https://gmlwjd9405.github.io/2018/05/06/algorithm-selection-sort.html
삽입 정렬 : https://gmlwjd9405.github.io/2018/05/06/algorithm-insertion-sort.html