BFS, DFS 둘 다 완전 탐색. 따라서 대부분의 DFS문제는 BFS로 풀린다. 또한 시간 복잡도 역시 둘 다 log(e + v)이지만 BFS가 좀 더 빠르다
특히, 최단 경로는 BFS만으로 풀린다. DFS가 갖는 장점은 코드가 좀 더 깔끔하다는 것
하지만 경우에 따라 선택해야 한다. 예를 들어 위치에 따라 여러 경로가 있는 문제는 DFS로 푸는 것이 훨씬 수월하다 -> 알랩 - 출근 문제, SWEA - 등산로 조성 문제
baseCode 주석 참고
1260, 1389, 2644, 1967 비슷. 트리 형태에서의 BFS (1967이 가장 어렵다)
1389, 2644 문제를 보면 d, visited를 2차원 배열로 설정해놨는데, 종종 메모리 초과 나는 경우 있다. 이럴 땐 1260 문제 풀이처럼 1차원 배열을 매번 갱신하는 형태로 바꿔줘도 무방. 다만 통일성을 위해서 2차원 배열로 나타냈을 뿐이다