1. 그래프
1. 너비 우선 탐색
- 시작 정점에 인접한 정점을 모두 차례로 방문 → 방문했던 정점을 시작으로 다시 인접한 정점을 차례로 방문
- 가까운 정점을 먼저 방문하고 멀리 있는 정점을 나중에 방문하는 순회 방법
- 인접한 정점에 대해 차례대로 다시 너비 우선 탐색을 반복 → Queue 자료구조 사용
알고리즘 동작 방식
- 시작 노드를 큐에 삽입
- 큐에서 노드를 하나씩 꺼내기 → 해당 노드의 인접 노드를 큐에 삽입
- 큐가 빌 때까지 반복
2. 깊이 우선 탐색
- 시작 정점의 한 방향으로 갈 수 있는 경로가 있는 곳까지 깊이 탐색
- 더 이상 갈 곳이 없으면, 가장 마지막에 만났던 갈림길 간선이 있는 정점으로 되돌아와
다른 방향의 간선으로 탐색을 계속해 모든 정점을 방문하는 방법
- Stack 자료구조 사용 ↔ 재귀함수로 구현
알고리즘 동작 방식
- 시작 노드를 스택에 삽입
- 스택에서 노드를 하나씩 꺼내기 → 해당 노드의 인접 노드를 스택에 삽입
- 스택이 빌 때까지 반복
3. 다익스트라 알고리즘
가중치가 있는 그래프에서 최단 경로를 찾는 알고리즘
너비우선탐색(BFS)과 유사한 형태를 갖는 알고리즘이지만, 가중치가 있기 때문에 Queue 자료구조를 그대로 사용하는 것이 아닌, 우선순위 큐
를 사용