그래프에서 '탐색'이란 노드를 순회하는 것을 말합니다. 영어로는 graph traversal이라고 합니다. 노드의 탐색 알고리즘 중 가장 대표적인 두 가지는 너비 우선 탐색(BFS)과 깊이 우선 탐색(DFS)입니다. 아래 예제 그래프를 통해서 탐색 방식이 어떤지 자세히 알아보도록 하겠습니다. 그림은 트리처럼 생겼지만, 그래프 순회 시 cycle을 이루게 하는 edge가 추가되어도 순회하는 데에는 오류가 없을 것입니다. 1. 너비 우선 탐색 breadth-first search : 같은 레벨에 있는 노드, 즉 형제 노드들을 우선으로 순회 그래프의 구현은 딕셔너리로, 탐색 방법은 두 개의 리스트 자료구조를 활용할 수 있습니다. 그래프를 구현한 딕셔너리는 아래와 같이 key에 한 노드를, value에 해당 노..
[알고리즘] 그래프 Graph (2) - BFS&DFS
그래프에서 '탐색'이란 노드를 순회하는 것을 말합니다. 영어로는 graph traversal이라고 합니다. 노드의 탐색 알고리즘 중 가장 대표적인 두 가지는 너비 우선 탐색(BFS)과 깊이 우선 탐색(DFS)입니다. 아래 예제 그래프를 통해서 탐색 방식이 어떤지 자세히 알아보도록 하겠습니다. 그림은 트리처럼 생겼지만, 그래프 순회 시 cycle을 이루게 하는 edge가 추가되어도 순회하는 데에는 오류가 없을 것입니다. 1. 너비 우선 탐색 breadth-first search : 같은 레벨에 있는 노드, 즉 형제 노드들을 우선으로 순회 그래프의 구현은 딕셔너리로, 탐색 방법은 두 개의 리스트 자료구조를 활용할 수 있습니다. 그래프를 구현한 딕셔너리는 아래와 같이 key에 한 노드를, value에 해당 노..
2022.08.23