ordered-treesearchbalancing

Binary Search Tree를 설명해 주세요

면접 출제
예상 시간
6
30초 답변

꼬리질문

조금 더 깊게 물어본다면

답변 뒤에 이어질 수 있는 질문들을 하나씩 열어볼 수 있어요.

BST의 inorder traversal 결과는 어떻게 되나요?

부가 설명

정렬된 데이터를 빠르게 찾고 싶을 때 매번 처음부터 훑는 것은 아깝습니다. BST는 현재 노드와 비교해서 찾는 값이 작으면 왼쪽, 크면 오른쪽으로 내려갑니다. 한 번 비교할 때마다 후보 영역이 줄어드는 구조라 균형만 유지되면 효율적입니다.

문제는 입력 순서가 나쁘면 트리가 기울어진다는 점입니다. 이미 정렬된 값을 그대로 넣으면 모든 노드가 한쪽 자식으로만 이어져 사실상 linked list가 됩니다. 그래서 실무 자료구조에서는 AVL Tree, Red-Black Tree처럼 균형을 맞추는 변형이 중요해집니다.

한 줄 정리

BST는 비교 결과로 탐색 방향을 줄이지만, 균형이 깨지면 장점도 함께 줄어듭니다.