-1
BST에 대한 순회 탐색 개념을 이해하고 있지만 재귀가 어떻게 작동하는지 혼란 스럽습니다. print 문과 매개 변수로서의 root.right를 사용한 재귀 호출이 어떻게 실행될 지 혼란스러워합니다. inOder (root.left)는 BST에서 가장 낮은 값으로 검색되도록 계속 호출되지만 null에 도달하면 if 문에 도달 할 수 없으므로 올바른 노드로 다시 이동할 수 없습니다. if 문에서 코드의 핵심 부분에 어떻게 도달 할 수 있는지 알고 싶습니다.재귀 작업을 사용하는 BST 트래버스는 정확히 어떻게 수행됩니까?
public void inOrder(TreeNode root) {
if(root != null) {
inOrder(root.left);
System.out.printf("%d ",root.data);
inOrder(root.right);
}
}