소소한 IT이야기/정보보안기사 실기
정보처리기사 프로그래밍 언어 활용 (feat.버블 정렬, 기출문제)
Klaus
2022. 10. 1. 10:58
정보처리기사 실기 내용 중 정렬 알고리즘은 단골 손님 입니다.
간단한 개념 및 출제되었던 문제를 분석해봅시다.
1.버블정렬(Bubble sort)
서로 인접한 데이터를 비교하여 가장 큰데이터를 뒤로 보내며 정렬하는 방식
순서
1). 배열에서 2개의 아이템을 선택하고 비교
2).왼쪽이 오른쪽보다 크면 교환
3). 오른쪽으로 이동 후 해당 프로세스 반복
이렇게 왼쪽과 오른쪽을 비교를 끝까지 하면 첫 번째 사이클이 끝나게 됩니다.
버블정렬은 배열의 N-1번 비교 하고 반복하여 최종 산출물을 얻어 내는 방식입니다.
버블정렬의 시간복잡도는 O(n²) 입니다.
시험 외에 자세하게 알고 싶은 분은
[Algorithm] 버블 정렬 vs 선택 정렬 vs 삽입 정렬 차이 제대로 알고가자. (velog.io) 참고하시기 바랍니다.
4) 정보처리기사 실기 기출문제 (2020 1회)
더보기
#include < stdio.h>
Void main() {
int i, j
int temp;
int a[5] = { 60, 40, 20, 10, 70};
for (i=0, i<4; i++){
for (j=0, j<4-I; j++){
temp = a[j]
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
for(i=0; i<5; i++){
print(“%d”, a[i]);
}
}