정보처리기사 CBT
종목 메뉴

개념 한 쪽

정보처리기사 알고리즘 — 정렬·탐색·해싱 핵심 특징

알고리즘은 정렬, 탐색, 해싱 등 데이터를 처리하는 절차를 뜻한다. 정보처리기사에서는 대표 알고리즘들의 동작 원리와 시간 복잡도, 내부 정렬과 외부 정렬의 구분이 반복해서 출제된다.

2026-10-15 기준 · 정보처리기사 대시보드

이 개념을 문제로 확인하고 싶으면 이 개념 문제 10개 풀기 회원용

가입 없이 오늘의 10문제 바로 풀기 →

시험에 이렇게 나온다

출제기준 단원 「알고리즘」의 공개 문제 3개를 묻는 꼴별로 나누면 이렇습니다.

묻는 꼴문제 수무엇을 묻나
수행 위치 판별 (내부/외부 정렬)1주기억장치(내부)에서 수행되는 정렬인지 판별
동작 설명으로 기법 이름 고르기1주어진 동작 방식 설명에 맞는 기법 이름 선택
이진 탐색의 특징 판정(옳지 않은 것 고르기)1이진 탐색의 특징 중 틀린 설명을 고르기

뜻

정렬 알고리즘은 수행 위치에 따라 갈린다. 주기억장치 내에서 이루어지는 내부 정렬에는 삽입 정렬, 선택 정렬, 셸 정렬, 버블 정렬, 퀵 정렬, 힙 정렬 등이 있다. 데이터가 많아 주메모리에 모두 올릴 수 없을 때 보조 기억장치를 이용하는 외부 정렬에는 캐스케이드 머지 소트, 밸런스드 머지 소트, 폴리페이즈 머지 소트 등 머지 소트 계열이 속한다.

버블 정렬은 인접한 두 데이터를 비교하여 크기에 따라 위치를 바꾸는 방식으로, 거품이 뜨듯 한 번의 반복마다 가장 큰 값이 배열 끝으로 이동한다. 퀵 정렬은 기준이 되는 분할 원소(피벗)를 정해 데이터를 작은 부분으로 나누어 정렬하는 분할 정복 방식이다. 분할 원소는 반드시 첫 번째 키일 필요 없이 중간 값이나 무작위 값 등 임의로 선택할 수 있으며, 재귀 호출을 위해 스택 공간을 사용하고 최악의 경우 시간 복잡도가 O(n²)이 될 수 있다. 힙 정렬은 배열을 힙(완전이진트리)으로 구성해 가장 큰 값을 루트에서 제거하고 남은 데이터로 힙을 재구성하는 과정을 반복하며, 시간 복잡도는 최선·평균·최악 모두 O(n log n)으로 일정하다.

탐색에서는 이진 탐색이 핵심이다. 이진 탐색(Binary Search)은 정렬된 데이터에서 중간값과 찾는 값을 비교해 탐색 범위를 매번 절반으로 줄이는 방식으로, 데이터 수가 N개일 때 최대 log₂N번의 비교로 탐색을 마친다. 피보나치 수열에 따라 다음 대상을 선정하는 것은 별도의 피보나치 탐색이지 이진 탐색의 특징이 아니다. 해싱에서 충돌이 일어나면 그 다음 버킷들을 차례로 하나씩 검색해 최초로 나오는 빈 버킷에 데이터를 저장하는 방식은 선형 개방 주소법이다. 이차 조사법은 제곱 간격으로 건너뛰고, 재해싱은 해시 함수를 바꾸는 방식이다.

예제

시험에서는 알고리즘끼리 미묘하게 비교하는 보기가 나온다. '인접한 데이터를 비교하며 위치를 바꾸는 정렬은?'의 답은 버블 정렬이고, '주기억장치 내에서 정렬하는 방법은?'의 답은 힙 정렬(머지 소트 계열은 외부 정렬), '주기억장치 내 정렬이 아닌 것은?'의 답은 캐스케이드 정렬이다. '퀵 정렬은 첫 번째 키만 분할 원소로 쓴다', '힙 정렬의 시간 복잡도는 O(2ⁿ)이다', '이진 탐색은 피보나치 수열을 사용한다'는 모두 틀린 설명 보기로 자주 등장한다.

대표 기출 3문항

주기억장치 내에서 이루어지는 정렬이 아닌 것은?

  1. insertion sort
  2. selection sort
  3. cascade sort
  4. shell sort
정답과 해설 보기

정답 ③ · 주기억장치 내에서 수행되는 내부 정렬에 해당하지 않는 알고리즘을 고르는 문제이다. 삽입 정렬, 선택 정렬, 셸 정렬은 모두 주기억장치 안에서 데이터를 정렬하는 대표적인 내부 정렬 알고리즘이다.

삽입, 선택, 셸 정렬은 주기억장치 내 정렬 알고리즘이지만 캐스케이드 정렬은 존재하지 않는 용어이다.

주기억장치 내에서 정렬하는 방법에 해당하는 것은?

  1. CASCADE MERGE SORT
  2. HEAP SORT
  3. BALANCED MERGE SORT
  4. POLYPHASE MERGE SORT
정답과 해설 보기

정답 ② · 주기억장치 내에서 수행되는 내부 정렬 방법에 해당하는 것을 고르는 문제이다. 힙 정렬은 힙이라는 자료구조를 이용해 주기억장치 내에서 직접 수행하는 내부 정렬 알고리즘이다.

주기억장치(주메모리) 내에서 수행되는 정렬 방법은 힙 정렬(Heap Sort)이다.

인접한 데이터를 비교하면서 그 크기에 따라 데이터의 위치를 바꾸어 정렬하는 방법은?

  1. 퀵 정렬(Quick Sort)
  2. 힙 정렬(Heap Sort)
  3. 셀 정렬(Shell Sort)
  4. 버블 정렬(Bubble Sort)
정답과 해설 보기

정답 ④ · 인접한 두 데이터를 비교하여 크기에 따라 위치를 교환하는 정렬 방법을 묻는 문제이다. 버블 정렬은 인접한 두 원소를 비교해 순서가 역전되어 있으면 교환하는 방식으로, 한 패스가 끝날 때마다 큰 값이 배열의 끝으로 이동하여 거품이 떠오르는 듯한 모습을 보인다.

버블 정렬은 인접한 두 원소를 비교하여 순서가 틀리면 교환하는 방식으로, 이름 그대로 거품이 위로 뜨듯 큰 값이 끝으로 이동한다.

자주 묻는 물음

내부 정렬과 외부 정렬은 어떻게 구분하나요?
주기억장치 안에서 수행하면 내부 정렬(삽입·선택·셸·버블·퀵·힙 정렬 등), 데이터가 많아 보조 기억장치를 이용하면 외부 정렬(캐스케이드·밸런스드·폴리페이즈 머지 소트 등)입니다.
힙 정렬의 시간 복잡도는 왜 유명한가요?
최선·평균·최악 모두 O(n log n)으로 같기 때문입니다. 퀵 정렬은 평균은 빠르지만 최악의 경우 O(n²)까지 나빠질 수 있어 대비됩니다.
이진 탐색의 전제 조건은 무엇인가요?
데이터가 정렬되어 있어야 합니다. 중간값과 비교해 범위를 절반씩 줄이므로 N개 데이터를 최대 log₂N번의 비교로 탐색합니다.
이 개념 문제 10개 풀기 회원용

정보처리기사 풀이 세트에서 이 개념의 문제 10개를 바로 풀어 보세요.