그래프 순회(Graph Traversal) 그래프에서 순회하는 코드를 짤 때, 루트가 있는 트리와는 달리 시작점을 정해줘야 한다. 그래프의 한 노드에서 다른 노드로 갈 때 유일한 하나의 길만이 있다는 보장은 없다. 이미 방문한 노드를 다시 방문해야 할 수도 있다. 그래프 순회 사용 예시 P2P 네트워킹 웹 크롤러 최단 거리 찾기 DFS(깊이우선탐색) Explore as far as possible down one branch before "backtracking” DFS(깊이우선탐색)은 다른 형제를 방문( backtracking)하기 전에 한 브랜치에서 가능한 가장 아래까지 깊이 탐색한다. DFS와 BFS 모두, 매개변수로 시
트리 순회(Tree traversal) 트리의 모든 노드를 순회하는 2가지 방법(이진탐색트리뿐만 아니라 트리 전반에 대한 방법) Breadth-frist Search(BFS, 너비우선탐색) Depth-first Seacrh(DFS, 깊이우선탐색) 본 포스팅에서 살펴볼 트리 순회 코드는 16. 이진탐색트리 포스팅에 적은 BinarySearchTree 클래스 코드를 기반으로 한 메서드다. 만약 삼진 트리를 다룬다면, Node 클래스 costructor에 this.left, this.right 뿐만 아니라 this.mid 같은 프로퍼티를 하나 더 추가해야 할 것이고, 트리 순회 메서드에서도 this.