본문으로 바로 가기

정보처리기사 필기 · 소프트웨어 개발 과목

정보처리기사 자료구조와 알고리즘 핵심정리

중요도
★★★★★ (5 / 5)
출제 비중
소프트웨어 개발 20문항 중 약 8문항 (40%)

스택·큐·트리 같은 자료구조, 트리 순회, 정렬과 검색 알고리즘을 다룹니다.

자료구조와 알고리즘, 이것만은 꼭 외우세요

  • 스택은 나중에 넣은 것이 먼저 나오고(LIFO), 큐는 먼저 넣은 것이 먼저 나옵니다(FIFO).
  • 트리 순회: 전위(뿌리 → 왼쪽 → 오른쪽), 중위(왼쪽 → 뿌리 → 오른쪽), 후위(왼쪽 → 오른쪽 → 뿌리).
  • 버블·선택·삽입 정렬은 평균 O(n²), 퀵·병합·힙 정렬은 평균 O(n log n)입니다.
  • 이진 검색은 정렬된 자료에서만 쓸 수 있고 시간 복잡도는 O(log n)입니다.

자료구조와 알고리즘 대표 문제 5개

AI 예상문제검수 전소프트웨어 개발 › 자료구조와 알고리즘★★★★★

문제 1. 스택(Stack)에 대한 설명으로 옳은 것은?

  1. ① 먼저 넣은 자료가 먼저 나오는 선입선출(FIFO) 구조이다.
  2. ② 나중에 넣은 자료가 먼저 나오는 후입선출(LIFO) 구조이다.
  3. ③ 양쪽 끝에서 모두 넣고 뺄 수 있다.
  4. ④ 운영체제의 작업 스케줄링에 주로 쓰인다.
▼ 정답과 해설 보기▲ 정답과 해설 접기

정답: ② 나중에 넣은 자료가 먼저 나오는 후입선출(LIFO) 구조이다.

핵심: 스택은 LIFO(후입선출), 큐는 FIFO(선입선출)

스택은 접시를 쌓는 것과 같아서 맨 위(나중에 올린 것)부터 꺼냅니다. 함수 호출, 되돌리기(Undo), 괄호 검사에 쓰입니다.

틀린 선지

  • ① 먼저 넣은 자료가 먼저 나오는 선입선출(FIFO) 구조이다.: 큐의 설명입니다.
  • ③ 양쪽 끝에서 모두 넣고 뺄 수 있다.: 데크(Deque)의 설명입니다.
  • ④ 운영체제의 작업 스케줄링에 주로 쓰인다.: 큐의 쓰임새입니다.
AI 예상문제검수 전소프트웨어 개발 › 자료구조와 알고리즘★★★★★

문제 2. 뿌리(루트)가 A 이고, A 의 왼쪽 자식이 B, 오른쪽 자식이 C 이며, B 의 왼쪽 자식이 D, 오른쪽 자식이 E 인 이진 트리를 전위(Preorder) 순회한 결과는?

  1. ① A B D E C
  2. ② D B E A C
  3. ③ D E B C A
  4. ④ A B C D E
▼ 정답과 해설 보기▲ 정답과 해설 접기

정답: ① A B D E C

핵심: 전위 순회: 뿌리 → 왼쪽 → 오른쪽

  1. 뿌리 A 를 방문
  2. 왼쪽 서브트리(B)로: B 방문 → B 의 왼쪽 D → B 의 오른쪽 E
  3. 오른쪽 서브트리 C 방문
  4. 결과: A B D E C

틀린 선지

  • ② D B E A C: 중위 순회(왼쪽 → 뿌리 → 오른쪽)의 결과입니다.
  • ③ D E B C A: 후위 순회(왼쪽 → 오른쪽 → 뿌리)의 결과입니다.
  • ④ A B C D E: 위에서부터 한 층씩 읽은 레벨 순회의 결과입니다.
AI 예상문제검수 전소프트웨어 개발 › 자료구조와 알고리즘★★★★★

문제 3. 자료 [5, 3, 8, 1] 을 버블 정렬로 오름차순 정렬할 때, 1회전(Pass 1)이 끝난 뒤의 결과는?

  1. ① [3, 5, 8, 1]
  2. ② [1, 3, 5, 8]
  3. ③ [3, 5, 1, 8]
  4. ④ [1, 5, 3, 8]
▼ 정답과 해설 보기▲ 정답과 해설 접기

정답: ③ [3, 5, 1, 8]

핵심: 버블 정렬: 이웃한 두 값을 비교해 큰 값을 뒤로 보낸다

이웃한 두 값을 앞에서부터 차례로 비교합니다.

  1. 5 와 3 비교 → 바꿈 → [3, 5, 8, 1]
  2. 5 와 8 비교 → 그대로 → [3, 5, 8, 1]
  3. 8 과 1 비교 → 바꿈 → [3, 5, 1, 8]

1회전이 끝나면 가장 큰 값(8)이 맨 뒤에 놓입니다.

틀린 선지

  • ① [3, 5, 8, 1]: 첫 번째 비교만 한 결과입니다.
  • ② [1, 3, 5, 8]: 정렬이 모두 끝난 결과입니다.
  • ④ [1, 5, 3, 8]: 선택 정렬 1회전의 결과입니다.
AI 예상문제검수 전소프트웨어 개발 › 자료구조와 알고리즘★★★★★

문제 4. 정렬 알고리즘의 평균 시간 복잡도가 O(n log n)이 아닌 것은?

  1. ① 퀵 정렬
  2. ② 병합(합병) 정렬
  3. ③ 힙 정렬
  4. ④ 삽입 정렬
▼ 정답과 해설 보기▲ 정답과 해설 접기

정답: ④ 삽입 정렬

핵심: 삽입·선택·버블 정렬은 O(n²), 퀵·병합·힙 정렬은 O(n log n)

삽입 정렬은 평균 O(n²)입니다. 자료가 이미 거의 정렬되어 있을 때만 O(n)으로 빨라집니다.

틀린 선지

  • ① 퀵 정렬: 평균 O(n log n)입니다. 다만 최악의 경우에는 O(n²)입니다.
  • ② 병합(합병) 정렬: 언제나 O(n log n)입니다.
  • ③ 힙 정렬: 언제나 O(n log n)입니다.
AI 예상문제검수 전소프트웨어 개발 › 자료구조와 알고리즘★★★★★

문제 5. 후위 표기식 3 4 + 5 * 를 계산한 결과는?

  1. ① 17
  2. ② 23
  3. ③ 35
  4. ④ 60
▼ 정답과 해설 보기▲ 정답과 해설 접기

정답: ③ 35

핵심: 후위 표기식은 스택으로 계산한다: 숫자는 넣고, 연산자가 나오면 두 개를 꺼내 계산

  1. 3 을 넣음 → [3]
  2. 4 를 넣음 → [3, 4]
  3. + 를 만남 → 3 + 4 = 7 → [7]
  4. 5 를 넣음 → [7, 5]
  5. * 를 만남 → 7 × 5 = 35

일반 식으로 바꾸면 (3 + 4) × 5 입니다.

틀린 선지

  • ① 17: 3 × 4 + 5 로 계산한 값입니다.
  • ② 23: 3 + 4 × 5 로 계산한 값입니다.
  • ④ 60: 세 수를 모두 곱한 값입니다.

직접 풀어서 확인해 보세요.