DFS와 BFS는 효율성을 생각하지 않고 모든 자료를 하나하나 확인한다는 점은 같다. 단지 탐색 순서만 다를 뿐이다.
방식에 따라 효율성이 다르다. (n: 노드, e:간선)
O(n+e)
O(n²)
깊이 우선 탐색 (Depth-First Search) 최대한 깊이 내려간 뒤, 더 이상 갈 곳이 없을 경우 옆으로 이동
깊이 우선 탐색 (Depth-First Search)
최대한 깊이 내려간 뒤, 더 이상 갈 곳이 없을 경우 옆으로 이동
➡️ 루트노드에서 시작해 다음 branch로 넘어가기 전에 해당 branch를 완벽하게 탐색하는 방식