균형 이진 탐색 트리 (balanced binary search tree)
쉽게 풀면
이진 탐색 트리는 각 노드의 왼쪽에는 더 작은 값, 오른쪽에는 더 큰 값을 두어 빠르게 검색할 수 있게 만든 자료구조다. 하지만 값을 정렬된 순서로 계속 넣으면 트리가 한쪽으로 치우쳐 사실상 일렬로 늘어선 리스트처럼 되어버려 검색이 느려진다. 균형 이진 탐색 트리는 삽입·삭제 시마다 자동으로 구조를 재조정하여 트리의 높이가 항상 로그 수준으로 유지되도록 보장한다.
왜 중요한가
많은 알고리즘의 이론적 시간 복잡도 분석은 기본 자료구조가 균형을 유지한다는 전제 위에 서 있기 때문에, 균형 이진 탐색 트리는 알고리즘·자료구조 논문에서 성능 보장의 근거로 자주 인용된다. 데이터베이스 인덱스, 메모리 할당기, 네트워크 라우팅 테이블처럼 삽입과 삭제가 빈번하면서도 정렬 순서 검색이 필요한 시스템 논문에서는 이 개념이 설계 선택의 정당화 근거로 등장한다. 또한 균형 유지 전략 자체가 새로운 변형 자료구조 연구의 출발점이 되기도 한다.
논문에서는 이렇게 쓰입니다
정렬된 데이터에 대한 빠른 검색·삽입·삭제 연산이 필요한 자료구조 선택을 정당화할 때 쓰인다.
데이터베이스나 인메모리 저장 시스템 논문에서, 빈번한 갱신에도 성능이 흔들리지 않는 인덱스 설계의 근거로 균형 트리를 언급하는 방식이다.
운영체제·시스템 소프트웨어 분야에서 리소스 관리 자료구조를 설명할 때도 균형 이진 탐색 트리가 등장한다.
조금 더 깊게 보면
실제 논문에서는 "균형 이진 탐색 트리"라는 일반 개념보다 이를 구현하는 구체적인 변형—레드-블랙 트리, AVL 트리, 2-3 트리, 스플레이 트리 등—이 언급되는 경우가 많으며, 각 변형은 균형을 얼마나 엄격하게 유지하는지와 회전 연산의 빈도 사이에서 서로 다른 절충을 택한다. 균형 정도를 판단하는 기준으로는 노드의 높이 차이(예: AVL 트리의 좌우 서브트리 높이 차)나 색상 규칙(레드-블랙 트리)처럼 자료구조마다 고유한 불변식이 쓰인다. 삽입·삭제 시 이 불변식이 깨지면 회전(rotation)이나 재색칠 같은 국소적 재조정 연산으로 균형을 복구하는데, 이 복구 연산이 상수 개 혹은 로그 개 수준으로 제한된다는 점이 전체 연산의 로그 시간 복잡도를 보장하는 핵심이다.
주의할 점
균형을 유지하려면 회전(rotation) 등의 추가 연산이 필요하므로, 단순 배열이나 해시 테이블보다 상수 계수 면에서 오버헤드가 있을 수 있다.