tree traversal

트리 순회는 노드를 언제 방문하느냐로 결과가 달라진다

dfs(node.left), dfs(node.right), stack, 레벨 순회는 같은 트리에서 서로 다른 읽기 순서를 만듭니다.

전위 순회

전위 순회 방식

트리 구조를 복사하거나 직렬화할 때 출발점을 빨리 알 수 있습니다.

중위 순회

중위 순회 순서

BST에서는 정렬된 값 순서를 얻는 기본 방법입니다.

후위 순회

후위 순회 처리 순서

삭제나 하위 결과 합산처럼 자식 정보가 먼저 필요할 때 맞습니다.

레벨 순회

레벨 순회 방식

최단 깊이와 층별 출력에 자연스럽습니다.

재귀 깊이 트리 높이 H가 깊으면 호출 스택 위험을 생각해야 합니다.
반복 구현 명시적 stack과 cur 포인터로 중위 순회를 흉내낼 수 있습니다.
순회 로그 방문 배열을 적으면 누락된 자식과 잘못된 순서를 빨리 찾습니다.