알고리즘이란?

자료구조가 데이터를 저장하고 조작하는 방식이라면, 알고리즘은 그 데이터를 처리하는 절차(방법, 로직). 일정한 입력(Input)을 받아 정해진 절차에 따라 출력(Output)을 만들어내는 과정.

1. 정렬 (Sorting)

데이터를 특정 기준(오름차순, 내림차순 등)에 따라 정렬하는 알고리즘.

대표 알고리즘:

Bubble Sort (버블 정렬): 이웃한 두 값을 비교하며 교환

Selection Sort (선택 정렬): 가장 작은 값을 선택해서 앞으로 이동

Insertion Sort (삽입 정렬): 정렬된 구간에 값을 삽입

Merge Sort (병합 정렬): 분할 정복 기반 정렬 (O(n log n))

Quick Sort (퀵 정렬): 피벗 기준 분할 정복 정렬 (O(n log n) 평균)

언제 사용?

리스트, 배열, 테이블 등을 정렬할 때

데이터 정렬 후 검색, 통계 등 후처리가 필요한 경우

2. 탐색 (Searching)

데이터에서 원하는 값을 찾는 알고리즘

대표 알고리즘:

Linear Search (선형 탐색): 처음부터 끝까지 확인

Binary Search (이진 탐색): 정렬된 배열에서 절반씩 나눠 탐색 (O(log n))

DFS (깊이 우선 탐색): 그래프에서 한 방향으로 깊게 탐색

BFS (너비 우선 탐색): 그래프에서 너비 우선으로 탐색