알고리즘/트리

[알고리즘] 트리 - 레벨 순회

개발로 먹고 살자 2021. 10. 7. 12:58

레벨 순회

root 노드부터 한 줄씩 왼쪽부터 level로 순회를 한다.

 

 

Source Code

STL의 queue를 이용하여 구현하였다.

level_order 함수에 들어온 root를 queue에 push하고 queue가 empty이 아닐 때 무한 반복

queue의 제일 처음 들어온 data를 root에 넣고 queue를 비운다.

현재 root의 data를 출력하고 root의 left, 즉 부모의 왼쪽 자식 노드가 존재한다면

queue에 왼쪽 자식 노드를 push한다.

그 후 root의 right를 queue에 오른쪽 자식 노드를 push한다.

 

 

main에서는 make_tree를 통해 노드를 동적 할당 하며 값을 넣어준다.

그 후 노드끼리 이어준다.