Daily Coding 26

Dongwoo Joo·2023년 4월 29일
0

daily coding

목록 보기
1/1

DFS 알고리즘
주어진 노드에서부터 시작하여, 탐색되는 순서대로 노드의 값을 저장한 배열을 리턴하는 문제.
DFS 알고리즘은
1. 한 노드에서 시작해서, 해당 노드의 자식 노드를 먼저 모두 탐색한 뒤,
2. 그 다음 자식 노드로 이동하여 같은 작업을 반복하는 방식으로 동작한다.

이 문제에서는 입력으로 주어진 노드에서부터 DFS 알고리즘을 적용해서,
노드의 값을 저장한 배열을 리턴해야 한다.
따라서, 재귀함수를 사용해서 각 노드의 자식 노드를 모두 탐색하면서,
탐색되는 순서대로 노드의 값을 저장한 배열에 추가한다.

코드를 이해하려면 먼저 Node 클래스와 addChild가 메서드가 어떻게 동작하는지 이해해야 한다.

Node Class

코드를 보면서 설명을 달아보자.

let Node = function (value) {
  this.value = value;
  this.children = [];
};

Node Class는 'value'와 'children' 속성을 갖는 객체를 생성한다.

profile
pursue nature

0개의 댓글