해결된 질문
작성
·
17
답변 2
0
안녕하세요, 김도현님.
해당 강의에서의 left, right는 방문표시를 위한 것이기 보다는 자식 노드를 탐색한 것에 대한 결과라고 생각하시면 됩니다.
자식 노드의 값을 얻어오기 위해서는 다시 자식노드의 자식노드를 탐색하는 재귀적인 과정을 거칩니다.
재귀라는 개념이 다소 복잡할 수 있는 내용입니다. 따라서 강의를 다시 들어보시고 코드도 작성해보시면서 곰곰히 생각해보시는 것을 권장합니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
김도현님, 트리 탐색 문제에서 LCA(Lowest Common Ancestor) 코드는 트리를 순회하면서 각 노드를 방문하고, 특정 조건에 맞는 값을 리턴하기 위해 작성됩니다. LCA 알고리즘에서 left
와 right
변수는 재귀적으로 트리의 왼쪽과 오른쪽 하위 트리를 탐색하면서 반환된 결과를 저장하기 위해 사용됩니다. 이는 방문 여부를 기록하기 위한 visited
배열과는 다르지만, 특정 노드에서의 탐색 결과를 기억한다는 점에서는 유사하다고 볼 수 있습니다.
즉, left
와 right
는 각각 현재 노드의 왼쪽과 오른쪽 자식 노드를 방문한 결과를 저장하고, 이를 활용해 최소 공통 조상을 찾는 데 사용됩니다.
LCA 문제에 관한 다른 답변들을 참고하실 수 있는 몇 가지 링크를 제공드립니다:
- “트리에 관해 질문 있습니다”
- “제 경우에는 이렇게 코드를 짜봤는데 이것도 맞을까요?”
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.