알고리즘에서 그래프는 실제 세계의 현상이나 사물을 정점, 노드, 간선으로 표현하여 나타내기 쉽다. 따라서 경로, 방법 탐색 등의 각종 문제 해결의 상황에서 자주 활용된다. 본 포스팅에서는 그래프와 관련된 기초 용어는 다루지 않으니 궁금한 사람은 구박사님(=구글링)께 물어보도록 하고, 그래프 공부를 하며 정리하는 과정에서 얻은 insight를 공유하고자 한다. 1. BFS(너비 우선 탐색 = 형제 우선) - 정점들과 같은 레벨에 있는 노드들을 먼저 탐색하는 방식 - 그래프를 나타내기 위해 각 노드를 Key, 그리고 각 key와 간선으로 연결된 노드를 관리하는 list를 value로 가지는 map활용 - 앞으로 방문할 노드를 관리하는 큐(need_visit), 방문했던 노드를 관리하는 큐(visited), ..