레벨 순회
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를 통해 노드를 동적 할당 하며 값을 넣어준다.
그 후 노드끼리 이어준다.
'알고리즘 > 트리' 카테고리의 다른 글
[알고리즘] C 트리(삽입, 검색, 삭제) (0) | 2021.10.13 |
---|---|
[알고리즘] C 재귀를 이용한 트리 순회(전위, 중위, 후위) (0) | 2021.10.01 |
[알고리즘] C 스택을 활용한 트리 중위순회(C++라이브러리 사용) (0) | 2021.10.01 |