당연히 1번, 6번 노드의 값을 각 노드로부터 가져와서 더해서 반환합니다.
2~5번 노드의 합을 구하기 위해 2번노드나 3번노드 등 하위 노드로 직접 진입하지 않고 상위 노드에서 값을 바로 가져간다는 뜻이죠.
"어떤 구간 [left,right]의 정보를 저장한 노드에 이 구간의 왼쪽과 오른쪽 모두 초과하는 구간 (left 미만의 start, right초과의 end) [start,end] 에 대한 쿼리가 떨어질 일은 100% 일어나지 않는 건가요?"
그런 경우도 있습니다. 그런 경우 자기가 맡는 구간에 대한 정보만 바로 반환합니다. 나머지 부분은 해당 부분을 담당하는 다른 노드가 알아서 처리해줄 것이기 때문입니다. 나는 모르지만, 나를 호출한 부모 노드, 아니면 더 조상쪽 노드에서 다른 쪽으로도 쿼리를 보내봤겠죠.
댓글을 작성하려면 로그인해야 합니다.
p_ce1052 4년 전