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번 깊이 우선 탐색하는 코드이다.
- 재귀 호출 앞 뒤 위치에 따라 전위, 중위, 후위 순회가 된다.
- 재귀 앞 코드는 재귀가 실행되기 전에 실행이 되는 거고 재귀 두 코드는 재귀가 끝까지 돌고 리턴을 만나서 돌아오면 그 뒤에 실행이 된다.
- 순열 알고리즘에도 활용할 수 있는 개념이다.