자료구조 및 알고리즘

AVL 트리

iksadnorth 2023. 7. 24. 20:34

이진 탐색 트리의 최악의 경우를 피하기 위해 스스로 균형있는 트리로 변형되는 이진 탐색 트리.
AVL 트리는 모든 노드의 Balence Factor가 [-1, 0, 1]이어야 한다.

Balance Factor
왼쪽 자식 노드가 루트 노드인 서브 쿼리의 최대 높이와
오른쪽 자식 노드가 루트 노드인 서브 쿼리의 최대 높이의 차이를 뜻하는 지표.

BF = {왼쪽 자식 노드 최대 높이} - {오른쪽 자식 노드 최대 높이}

Rotation
균형을 맞추기 위해 서브 쿼리의 부모 노드를 자식 노드로 수준을 낮추는 행위.

회전 방법은 다음과 같다.

1. Z의 부모 노드를 Y로 재설정.
2. 1번 과정에서의 떨어져 나간 서브 트리(T2)를 Z의 자식 노드로 재설정.

  Random Read Sequential Read Insert Delete
시간 복잡도 O(log n) O(log n) O(log n) O(log n)

'자료구조 및 알고리즘' 카테고리의 다른 글

Heap  (0) 2023.07.24
레드 블랙 트리  (0) 2023.07.24
비선형 자료 알고리즘  (0) 2023.07.24
선형 자료 구조  (0) 2023.07.24
복잡도  (0) 2023.07.24