트리 순회
모든 노드를 한번씩 방문하는 것을 의미한다. 크게 두가지 방법으로 순회할 수 있다.
- Breadth-first Search(BFS) 넓이우선
- Depth-first Search(DFS) 깊이우선
BFS
- 큐와 방문한 노드의 값을 저장할 변수를 생성합니다.
- Root 노드를 큐에 위치합니다.
- 큐에 노드가 있다면 아래를 반복합니다.
- 큐에서 노드를 하나 꺼내서 방문한 노드 변수에 넣습니다.
- 꺼낸 노드가 왼쪽 자식이 있다면 큐에 넣습니다.
- 꺼낸 노드가 오른쪽 자식이 있다면 큐에 넣습니다.
- 방문한 노드 변수를 반환합니다.