DFS 와 BFS의 정의는 많이 들어보긴 했지만, 어떤 문제에 무엇이 사용되고 DFS와 BFS가 어떻게 사용하면 되는지 몰랐었다. 그래서 오늘은 그래프 알고리즘의 꽃인 DFS와 BFS를 공부해봤다.
코딩 테스트를 풀 때마다 어떻게 BFS를 써야할지, DFS를 써야할지, 그리고 어떻게 코드를 짜 나가야할지 항상 막막했었다. 코딩 테스트를 풀 때 구구절절 문제들이나 미로같은 그림이 나오면 항상 두려움이 있었던 것 같다.
하지만 DFS와 BFS의 여러 문제들을 경험하다보니, 사실상 목표를 향해 문제를 해결해 나아가는 것은 똑같지만, 이 문제는 어떤 알고리즘이 더 효율적인 방법인지 적절하게 잘 쓰는게 중요했었던 문제였다.
github: WEEK03: 그래프(vertex, edge, node, arc), BFS, DFS, 위상정렬
DFS와 BFS에 대한 감을 잡긴했지만, 아직 풀어야할 DFS와 BFS 문제가 많이 남아 있다. 이번 기회에 많은 문제를 풀어보고 DFS와 BFS 문제를 극복해야 겠다.