트리 순회

Rudy·2022년 12월 9일
0

트리 순회





BFS

너비 우선 탐색 (BFS, Breadth-First Search): 최대한 넓게 이동한 다음, 더 이상 갈 수 없을 때 아래로 이동

 BFS(){
    let node = this.root,
        data = [],
        queue = [];
    
    queue.push(node)
    while(queue.length){
       node = queue.shift();
       data.push(value);
       if(node.left) queue.push(node.left);
       if(node.right) queue.push(node.right);
    }
    return data;
  }


DFS 전위 순회

깊이 우선 탐색 (DFS, Depth-First Search) : 최대한 깊이 내려간 뒤, 더이상 깊이 갈 곳이 없을 경우 옆으로 이동

 DFSPreOrder(){
      let data = [];
      let current = this.root;
      function traverse(node){
          data.push(node.value);
          if(node.left) traverse(node.left);
          if(node.right) traverse(node.right);
      }
      traverse(current);
      return data;
  }


DFS 깊이 ,BFS 너비

profile
주니어 개발자

0개의 댓글