자료구조/그래프

    DFS, BFS (인접 행렬로 구현)

    DFS 기본 설명 DFS (Depth First Search, 깊이 우선 탐색) DFS의 특징을 설명하자면 탐색을 한 방향으로 시작하면 갈 수 있는 최대한 깊게 간다. 그래서 위의 그래프를 예시로 하면 우선은 정점 1->2->4 들을 먼저 탐색할 것이다. 이다음으로는, 4에서 길이 막혔으므로 정점 2, 1로 되돌아가면서 다른 방향으로 탐색할 수 있는지 확인을 한다. 2에서는 다른 곳으로 갈 수 없고, 1에서 3 쪽으로 갈 수 있으므로 1->3->5 순으로 탐색을 할 것이다. 그리고 또 정점 3으로 돌아오면 6으로 갈 수 있으므로 6까지 탐색을 한다. 그러면 길이 또 막혔으므로 정점 3, 1 순으로 되돌아오면 더 이상 탐색할 수 있는 곳이 없으므로 탐색이 끝나는 것이다. 결과를 종합해보면 1->2->4->..