패스잇
CS 기초 · 중급

이진 탐색 트리(BST)에서 중위 순회(Inorder Traversal)가 어떤 특징을 가지며, 이를 활용하여 어떤 문제를 해결할 수 있는지 설명해주세요.

힌트 · 중위 순회는 정렬된 순서로 노드를 방문하는 특징이 있어, BST의 모든 요소를 정렬된 순서로 얻거나 특정 범위의 요소를 찾는 데 활용됩니다.

정렬된 순서재귀균형 이진 트리탐색범위 탐색

모범답안

면접관님, 이진 탐색 트리에서 중위 순회는 항상 노드를 정렬된 순서대로 방문한다는 특징이 있습니다. 왼쪽 서브트리, 루트 노드, 오른쪽 서브트리 순으로 방문하기 때문이죠.

이 특징을 활용해서 다양한 문제를 풀 수 있습니다. 예를 들어, BST에 저장된 모든 값을 정렬된 배열 형태로 얻고 싶을 때 중위 순회를 사용하면 간단하게 구현할 수 있습니다.

또 다른 예로는, 특정 범위 내에 있는 값을 찾는 문제가 있습니다. 중위 순회를 하면서 현재 노드의 값이 범위 안에 있는지 확인하고, 범위를 벗어나면 탐색을 중단하여 효율적으로 원하는 값들을 찾을 수 있습니다. 균형 잡힌 BST라면 시간 복잡도는 O(k + log n) 정도가 될 겁니다. (k는 범위 내의 노드 수, n은 전체 노드 수)

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 알고리즘 면접 질문

← 알고리즘 면접 질문 전체 보기