자료구조와 알고리즘/알고리즘(학부과정)

4. 그래프

얄루몬 2021. 11. 9. 16:01

DFS(Depth First Search-깊이 우선 탐색)

▶ 스택, 재귀를 통한 구현이 가능하다. 

 

 

 

BFS(Breadth First Search-너비 우선 탐색)

 큐, 덱을 통한 구현이 가능하다.

최단거리를 구할 때 BFS를 사용하는데 종류는 3가지다.

다익스트라 알고리즘 - 가장 유명한 최단경로를 구하는 알고리즘으로 단일 정점의 최단 경로를 구할 수 있으며 음의 가중치를 가지고 있을 땐 사용 불가하다. 

플로이드 마샬 알고리즘 - 단일 정점이 아닌 모든 정점 사이의 최단거리를 구할 수 있다.

벨만 포드 알고리즘 - 음의 가중치를 가진 경로에서도 최단거리를 구할 수 있다. (경로 추적이 가능함) 벨만 포드 알고리즘은 DP(다이나믹프로그래밍)이 사용된다. 

 

 

GREEDY(탐욕법)

 늘 가장 좋은 값을 찾을 때 사용되는데 이때, 조건이 그럴 수 밖에 없는 경우에만 이 알고리즘을 사용한다.