세 가지 재귀 순서
문제 1~3은 다음 이진트리를 쓴다. 괄호는 (왼쪽 부분 트리, 오른쪽 부분 트리)이고 -는 빈 자식이다.
M(H(C, K(J, -)), T(-, W)) - 전위, 중위, 후위 순회의 방문 순서를 각각 적는다.
- 세 재귀 함수에서 위치만 달라지는 문장을 적는다.
- 노드마다 자기 부분 트리의 노드 수를 계산하려면 세 순서 가운데 무엇이 알맞은지 적고 이유를 설명한다.
해설 펼치기
- 전위: M, H, C, K, J, T, W. 중위: C, H, J, K, M, T, W. 후위: C, J, K, H, W, T, M.
visit(tree.key)다. 두 재귀 호출보다 앞(전위), 사이(중위), 뒤(후위)에 둔다.- 후위 순회다. 왼쪽·오른쪽 부분 트리의 결과가 있어야 부모 노드의 노드 수를 계산할 수 있으므로 루트를 마지막에 처리한다.