
1. 개요 DFS (Depth-First Search) 는 그래프 탐색의 가장 기본이 되는 알고리즘입니다. 미로 탐색부터 백트래킹, 연결 요소 탐색, 트리 순회, 사이클 검출 등 다양한 문제에서 자주 등장합니다. 이 글에서는 DFS의 개념부터 시간/공간 복잡도, 재

BFS(Breadth-First Search)는 DFS와 함께 가장 기초이자 중요한 그래프 탐색 알고리즘입니다.최단 거리 문제, 단계별 탐색, 미로 탈출 등에서 필수적으로 활용되며, DFS와는 완전히 다른 방식으로 동작합니다.이 글에서는 BFS의 개념부터 구현, DFS

1. 개요 다익스트라(Dijkstra)는 가중치가 있는 그래프에서 한 정점에서 다른 모든 정점까지의 최단 거리를 구하는 데 가장 널리 쓰이는 알고리즘입니다. BFS와는 다르게 간선에 가중치가 있을 때도 사용 가능하며, 코딩 테스트에서 자주 등장합니다. 이 글에서는

1. 개요 벨만-포드(Bellman-Ford) 알고리즘은 음의 가중치가 포함된 그래프에서도 최단 거리를 구할 수 있는 알고리즘입니다. 다익스트라는 가중치가 모두 양수일 때만 동작하지만, 벨만-포드는 음수 간선이 있어도 사용 가능합니다. 또한 음수 사이클(계속 돌면

플로이드-워셜(Floyd-Warshall) 알고리즘은 모든 정점에서 모든 정점까지의 최단 거리를 구할 수 있는 알고리즘입니다.다익스트라는 단일 시작점에서 출발하는 최단 거리만 구할 수 있고,벨만-포드는 음수 간선과 사이클 탐지에 유용하지만 역시 단일 시작점 기준입니다.

위상 정렬(Topological Sort)은 방향 그래프(Directed Graph)에서 사이클이 없는 경우(DAG: Directed Acyclic Graph)에 사용할 수 있는 알고리즘으로,정점들을 순서대로 나열하되, 모든 간선 (u → v)에 대해 u가 v보다 먼저

1. 개요 유니온 파인드(Union-Find)는 서로소 집합(Disjoint Set) 자료구조라고도 하며, 여러 개의 원소를 여러 집합으로 나누어 관리하면서 두 원소가 같은 집합에 속하는지 빠르게 확인하거나, 서로 다른 집합을 하나로 합치는 연산을 효율적으로 처리할 수

1. 개요 복잡한 네트워크를 구성할 때, 어떻게 하면 최소 비용으로 모든 지점을 연결할 수 있을까? 이 문제를 해결하기 위한 핵심 개념이 최소 신장 트리(MST, Minimum Spanning Tree)입니다. MST는 그래프의 모든 정점을 연결하되, 불필요한 연결 없