64.이진트리 넓이우선탐색 - BFS
Updated:
🔍 문제
아래 그림과 같은 이진트리를 넓이 우선 탐색해 보세요.
📌 풀이
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution() {
let answer = "";
let queue = [];
queue.push(1); // queue 에 1번 node 넣기
while(queue.length) { // queue 의 길이가 0일 때 while 문 종료
let v = queue.shift(); // v 는 queue 의 가장 앞에 있는 node 1 꺼내는것
answer += v + " "; // 꺼내지는 node 를 answer 에 누적 시킴
for(let nv of [v * 2, v * 2 + 1]) { // node 에서 이진트리 검색으로 시작
if(nv > 7 ) continue; // continue 는 nv 가 7 보다 크게 되면 push 안하고 for loop 돈다는 것임
queue.push(nv)
}
}
return answer;
}
console.log(solution());
</script>
</body>
Leave a comment