이진트리(깊이 우선 탐색)

이진트리

function solution() {
  let answer = "";
  function DFS(v) {
    if (v > 7) {
      return;
    } else {
      //   console.log(v); // 전위순회
      DFS(v * 2); //왼쪽 자식 노드
      //   console.log(v); // 중위순회
      DFS(v * 2 + 1); // 오른쪽 자식노드
      //   console.log(v); // 후위순회
    }
  }
  DFS(1);
  return answer;
}
  • 깊이 우선 탐색의 기본이 되는 형태이다.
  • 1번 노드부터 7번 깊이 우선 탐색하는 코드이다.
  • 재귀 호출 앞 뒤 위치에 따라 전위, 중위, 후위 순회가 된다.
  • 재귀 앞 코드는 재귀가 실행되기 전에 실행이 되는 거고 재귀 두 코드는 재귀가 끝까지 돌고 리턴을 만나서 돌아오면 그 뒤에 실행이 된다.
  • 순열 알고리즘에도 활용할 수 있는 개념이다.

좋은 웹페이지 즐겨찾기