티스토리 뷰

알고리즘

이진트리 순회(깊이우선탐색) DFS , 전위순회 , 중위순회 , 후위순회

YG - 96년생 , 강아지 있음, 개발자 희망 2022. 3. 24. 04:09

 

 

이진트리란 

이진트리는 모든 노드가 0개 또는 2개의 자식 노드를 갖는 트리입니다.

 

깊이 들어가서 왼쪽부터~오른쪽까지 전부 훑는 방식입니다 (그림잘못그림..)

 

모든 순회는 왼쪽 , 오른쪽을 기준으로 설명됩니다.

전위 순회 

부모 >> 왼쪽 >> 오른쪽 출력을 의미합니다.

 

전위순회

 

중위 순회

왼쪽 >> 부모 >> 오른쪽 출력을 의미합니다.

 

중위순회

 

후위 순회

왼쪽 >> 오른쪽 >> 부모 출력을 의미합니다.

 

후위순회

 

 

예시 문제 

이진트리 순회(깊이 우선 탐색) 아래 그림과 같은 이진트리를 전위 순회와 후위 순회를 연습해보세요.

 

풀이

function solution(n) {
  let answer = "";
  function DFS(V) {
    if (V > 7) {
      return;
    } else {
      answer += V;
      DFS(V * 2);
      DFS(V * 2 + 1);
      console.log(V);
    }
  }
  DFS(n);
  return answer;
}

console.log(solution(1));

 

 

이전에 배운 재귀 함수와 스택에 대한 지식을 이용해 DFS에 관해 공부해보았습니다.

'알고리즘' 카테고리의 다른 글

이진 트리 넓이 우선 탐색(BFS) 이란 // 큐(Queue)란  (0) 2022.03.25
재귀 함수에 관하여  (0) 2022.03.24
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함