알고리즘 용어 단어장
정보처리기사·CS 알고리즘 용어 20개의 뜻을 한 줄씩 정리했어요. 용어를 누르면 그림으로 단계별 설명을 보며 칠 수 있어요.
이 단어장 타자로 외우기 →타자 연습은 키보드가 있는 컴퓨터에서 해 보세요.
- 버블 정렬bubble sort
이웃한 두 값을 비교해 바꾸기를 반복해 큰 값을 끝으로 보내는 정렬
- 퀵 정렬quick sort
피벗을 기준으로 작은 쪽과 큰 쪽으로 나눈 뒤 각각 다시 정렬
- 이진 탐색binary search
정렬된 배열에서 가운데와 비교해 절반씩 버리며 찾는 방법
- 너비 우선 탐색breadth first search
시작점에서 가까운 노드부터 한 층씩 넓혀 가며 방문
- 깊이 우선 탐색depth first search
한 갈래를 끝까지 들어간 뒤 되돌아와 다음 갈래를 방문
- 삽입 정렬insertion sort
값을 하나씩 꺼내 정렬된 앞부분의 알맞은 자리에 끼워 넣는 정렬
- 선택 정렬selection sort
남은 값 중 가장 작은 것을 골라 앞으로 보내기를 반복하는 정렬
- 병합 정렬merge sort
반으로 나눠 각각 정렬한 뒤 차례로 합치는 정렬
- 다익스트라dijkstra
한 점에서 다른 모든 점까지 가장 짧은 거리를 구하는 알고리즘
- 동적 계획법dynamic programming
작은 문제의 답을 저장해 두고 큰 문제에서 다시 쓰는 방법
- 투 포인터two pointers
양쪽에서 두 위치를 좁혀 가며 답을 찾는 방법
- 위상 정렬topological sort
먼저 해야 하는 순서를 지키며 일을 한 줄로 세우는 정렬
- 힙 정렬heap sort
최대 힙을 만든 뒤 가장 큰 값을 하나씩 끝으로 보내며 정렬하는 방법
- 계수 정렬counting sort
값을 비교하지 않고 각 값이 나온 횟수를 세어 정렬하는 방법
- 탐욕 알고리즘greedy algorithm
매 순간 가장 좋아 보이는 선택을 하여 답을 구하는 방법
- 백트래킹backtracking
가능한 길을 하나씩 시도하다 답이 될 수 없으면 되돌아가는 탐색 방법
- 크루스칼kruskal
가중치가 작은 간선부터 고리가 생기지 않게 골라 최소 신장 트리를 만드는 알고리즘
- 프림prim
한 정점에서 시작해 트리에 붙은 간선 중 가장 싼 것을 계속 더해 최소 신장 트리를 만드는 알고리즘
- 재귀recursion
함수가 더 작은 문제로 자기 자신을 다시 부르는 방법
- 슬라이딩 윈도우sliding window
일정한 길이의 구간을 한 칸씩 밀면서 빠지는 값과 들어오는 값만 계산하는 방법