====== 깊이 우선 탐색 (Depth-first search; DFS) ====== * 작성 예정 ===== 구현 관련 ===== * Recursive or Iterative? * 원하는 동작을 가장 간명하고 직관적으로 구현하는 방법은 재귀적으로 짜는 방식이다. * 방문만 처리할때에는 스택을 써서 비재귀적으로 구현할수 있다 * 비재귀적으로 방문과 퇴각을 모두 처리할때에는 노드의 스택과 iterater의 스택을 같이 사용해서 구현해야 한다. 코드가 좀더 복잡해진다. * python 3.11 기준에서 속도나 체크해보자. *