알고리즘·자료구조 출제 경향
정보처리기사에서 알고리즘과 자료구조는 매 시험 10문제 안팎으로 출제되는 핵심 파트입니다. 정렬 알고리즘의 시간복잡도 비교, 스택·큐·트리의 특성과 응용이 자주 나옵니다. 암기보다 원리 이해가 훨씬 효율적입니다.
【기출 토픽 1】 정렬 알고리즘 시간복잡도
기출 문제 예시: 다음 정렬 알고리즘 중 최악의 경우(Worst Case) 시간복잡도가 O(n²)인 것만 묶인 것은?
- ① 퀵 정렬, 병합 정렬
- ② 버블 정렬, 삽입 정렬, 선택 정렬 ✅
- ③ 힙 정렬, 병합 정렬
- ④ 퀵 정렬, 삽입 정렬
해설: 버블·삽입·선택 정렬은 평균·최악 모두 O(n²)입니다. 퀵 정렬은 평균 O(n log n)이지만 최악(이미 정렬된 배열)은 O(n²)입니다. 병합 정렬과 힙 정렬은 항상 O(n log n)을 보장합니다.
정렬 알고리즘 복잡도 비교표:
- 버블/선택/삽입: 평균 O(n²), 최악 O(n²), 안정 정렬(삽입·버블만)
- 퀵 정렬: 평균 O(n log n), 최악 O(n²), 불안정 정렬
- 병합 정렬: 항상 O(n log n), 안정 정렬, 추가 메모리 O(n)
- 힙 정렬: 항상 O(n log n), 불안정 정렬, 제자리 정렬
【기출 토픽 2】 스택(Stack)의 특성과 응용
기출 문제 예시: 스택을 이용하여 후위 표기식(Postfix)으로 변환하거나 계산하는 문제가 자주 출제됩니다. 중위 표기식 A+B*C를 후위 표기식으로 변환하면?
- ① ABC*+ ✅
- ② +A*BC
- ③ A+BC*
- ④ ABC+*
해설: 연산자 우선순위: *(곱셈) > +(덧셈). B*C를 먼저 계산한 뒤 A와 더하므로 후위 표기는 A B C * +입니다. 스택은 LIFO(Last In First Out) 구조로, 함수 호출 스택, 괄호 검사, 후위 표기식 변환에 활용됩니다.
【기출 토픽 3】 큐(Queue)와 덱(Deque)
기출 문제 예시: FIFO(First In First Out) 구조로 운영체제의 프로세스 스케줄링, 프린터 대기열 등에 사용되는 자료구조는?
- ① 스택
- ② 큐 ✅
- ③ 트리
- ④ 그래프
해설: 큐는 먼저 들어온 데이터가 먼저 나가는 FIFO 구조입니다. 원형 큐(Circular Queue)는 배열의 끝과 처음을 연결해 메모리를 효율적으로 사용합니다. 덱(Deque, Double-Ended Queue)은 양쪽 끝에서 삽입·삭제가 가능합니다.
【기출 토픽 4】 이진 트리와 순회
기출 문제 예시: 이진 트리를 루트 → 왼쪽 자식 → 오른쪽 자식 순서로 방문하는 순회 방법은?
- ① 중위 순회 (Inorder)
- ② 전위 순회 (Preorder) ✅
- ③ 후위 순회 (Postorder)
- ④ 레벨 순회
해설:
- 전위(Preorder): 루트 → 왼쪽 → 오른쪽
- 중위(Inorder): 왼쪽 → 루트 → 오른쪽 (이진 탐색 트리에서 정렬된 순서 출력)
- 후위(Postorder): 왼쪽 → 오른쪽 → 루트 (폴더 삭제 등에 활용)
알고리즘·자료구조 최종 정리
정렬 알고리즘의 시간복잡도 표를 암기하고, 스택·큐·트리의 동작 원리와 대표 응용 사례를 연결 지어 학습하세요. 후위 표기식 변환 문제는 반드시 직접 손으로 풀어보는 연습이 필요합니다.