• 후위 순회(post-order traversal): 후위 순회 방법은 두 자식 노드를 먼저 방문한 후, 현재 노드를 방문합니다. 그림 2-4의 트리를 후위 순위로 방문하면 다음과 같습니다.
보안팀장, 앱개발팀장, IT부장, 물류팀장, 홍보팀장, 마케팅부장, 부사장, CEO
후위 순위는 다음과 같이 구현할 수 있습니다.
static void postOrder(node* start)
{
if (!start)
return;
postOrder(start->first);
postOrder(start->second);
std::cout << start->position << ", ";
}
• 레벨 순서 순회(level order traversal): 레벨 순서 순회 방법은 트리의 맨 위 레벨부터 아래 레벨까지, 왼쪽 노드에서 오른쪽 노드 순서로 방문합니다. 즉, 트리의 루트 노드부터 단계별로 차례대로 나열하는 것과 같습니다. 그림 2-4의 트리를 레벨 순서 순회로 방문하면 다음과 같습니다.
CEO,
부사장
IT부장, 마케팅부장,
보안팀장, 앱개발팀장, 물류팀장, 홍보팀장,
레벨 순서 순회는 다음 연습 문제에서 구현해보겠습니다.