[알고리즘] 깊이 우선 탐색(DFS, Depth First Search)

Tai Song·2022년 7월 7일
0

알고리즘

목록 보기
7/8
post-thumbnail

재귀를 이용해 알 수 없는 개수의 Children 요소를 가진 Node 객체의 특정 값(value)만 저장하는 알고리즘

let dfs = function (node) {
  let values = [node.value];
  // 노드의 value를 배열에 저장
  node.children.forEach((n) => {
    values = values.concat(dfs(n));
  });
  // 노드의 children의 각 요소들을 재귀시켜
  // (children의 value값만 values에 저장됨)
  // values 배열에 합친 후 리턴
  return values;
};

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

Node.prototype.addChild = function (child) {
  this.children.push(child);
  return child;
};
profile
Read The Fucking MDN

0개의 댓글