BFS, DFS
DFS(Depth First Search) DFS는 깊이 우선 탐색 알고리즘이다. DFS는 스택, 재귀함수를 사용하여 구현한다. 모든 그래프에 대해서 적용 가능한 탐색 알고리즘이다. 그래프 노드 탐색에서는 전위순회와 탐색하는 순서가 같다. 순서는 0, 1, 3, 4, 2, 5, 6 노드를 순차적으로 탐색한다. 인접 행렬을 사용할 경우 시간복잡도: O(V²) 노드 n의 인접 노드를 찾는 과정에서 O(V)의 시간복잡도가 필요하고, 모든 정점을 탐색해야하므로 V번 반복해야 하기 때문에 총 시간 복잡도는 O(V²) 가 된다. 인접 리스트를 사용할 경우 시간복잡도: O(V+E) 노드 n의 리스트에는 노드 n과 인접한 노드 개수만큼만(차수만큼) 들어있다. 다른 노드의 경우도 이러할 것이다. 이 개수를 모두 합하면 ..