알고리즘 시각화 모음집
시각화 자료를 통해 다양한 알고리즘의 작동 원리를 직관적으로 이해해 보세요.
소수 판별
에라토스테네스의 체
주어진 범위의 소수를 효율적으로 찾아 저장합니다.
투포인터
회문 검사
투포인터를 이용해 문자열의 회문 여부를 효율적으로 판별합니다.
슬라이딩 윈도우
고정된 크기의 창을 이동하며 부분 배열의 합 등을 효율적으로 계산합니다.
재귀
피보나치 수열
분할 정복을 이용한 재귀적 피보나치 수열 구현입니다.
하노이의 탑
분할 정복을 이용한 재귀적 하노이의 탑 구현입니다.
이진 탐색
반복문을 이용한 이진 탐색
정렬된 배열에서 반복문을 사용하여 목표값을 효율적으로 찾는 알고리즘입니다.
누적합
누적합
배열의 누적합을 미리 계산하여 구간합을 효율적으로 구합니다.
이차원 누적합
이차원 배열의 누적합을 미리 계산하여 직사각형 영역의 구간합을 효율적으로 구합니다.
정렬
버블 정렬
인접한 원소들을 비교하며 정렬하는 기본적인 알고리즘입니다.
삽입 정렬
정렬된 부분에 원소를 삽입하며 정렬하는 알고리즘입니다.
선택 정렬
최솟값을 찾아서 앞으로 보내는 정렬 알고리즘입니다.
병합 정렬
분할 정복 기법을 사용하여 안정적으로 데이터를 정렬하는 대표적인 알고리즘입니다.
카운팅 정렬
원소의 개수를 세어 정렬하는, 비교를 사용하지 않는 효율적인 정렬 알고리즘입니다.
델타탐색
상하좌우(4방향) 델타 탐색
이차원 배열에서 상하좌우로 탐색하는 기법입니다.
8방향 델타 탐색
이차원 배열에서 상하좌우 및 대각선(8방향)으로 탐색하는 기법입니다.
스택/큐/덱
스택 (Stack)
LIFO(후입선출) 방식으로 동작하는 자료구조입니다.
큐 (Queue)
FIFO(선입선출) 방식으로 동작하는 자료구조입니다.
덱 (Deque)
양쪽 끝에서 삽입과 삭제가 가능한 자료구조입니다.
깊이우선탐색 (DFS)
반복문을 이용한 DFS
스택 자료구조를 사용한 DFS 구현입니다.
재귀를 이용한 DFS
재귀 함수를 사용한 DFS 구현입니다.
이차원 리스트에서의 DFS
DFS를 이용한 미로찾기 구현입니다.
너비우선탐색 (BFS)
큐/덱을 이용한 BFS
큐/덱 자료구조를 사용한 BFS 구현입니다.
이차원 리스트에서의 BFS
BFS를 이용한 미로찾기 구현입니다.
트리/힙
이진 트리 전위 순회
재귀를 이용하여 가운데 - 왼쪽 - 오른쪽 순서로 트리를 순회합니다.
이진 트리 중위 순회
재귀를 이용하여 왼쪽 - 가운데 - 오른쪽 순서로 트리를 순회합니다.
이진 트리 후위 순회
재귀를 이용하여 왼쪽 - 오른쪽 - 가운데 순서로 트리를 순회합니다.
최소힙 삽입 및 추출 연산
최소힙에서 삽입(push)과 추출(pop) 연산이 어떻게 동작하는지 시각화합니다.
유니온 파인드, 최소 신장 트리
유니온 파인드
서로소 집합을 표현하는 자료구조로, 집합의 합침과 조회 연산을 수행합니다.
유니온 파인드 최적화
경로 압축과 랭크 기반 합집합을 이용하여 최적화된 유니온 파인드를 구현합니다.
크루스칼 알고리즘
유니온 파인드를 활용하여 그래프의 최소 신장 트리를 구하는 알고리즘입니다.
최단 경로
반복문을 이용한 다익스트라
이중 반복문을 사용하여 그래프의 최단 경로를 찾는 알고리즘입니다.
힙을 이용한 다익스트라
우선순위 큐(힙)를 사용하여 효율적으로 최단 경로를 찾는 알고리즘입니다.