안 AVL 트리 자기 균형으로 정의 모든 노드의 왼쪽 하위 트리와 오른쪽 하위 트리의 높이 차이를 균형 요소 노드의.
int를 문자열 java로 변환하는 방법AVL 트리의 이름은 이를 발명한 Georgy Adelson-Velsky와 Evgenii Landis가 1962년 논문 An Algorithm for the Organisation of Information에서 발표한 이름을 따서 명명되었습니다.
AVL 트리의 예:
AVL 트리
위 트리는 모든 노드의 왼쪽 하위 트리와 오른쪽 하위 트리의 높이 차이가 1보다 작거나 같기 때문에 AVL입니다.
AVL 트리 작업:
AVL 트리에서 하위 트리 회전:
AVL 트리는 균형을 유지하기 위해 다음 네 가지 방법 중 하나로 회전할 수 있습니다.
왼쪽 회전 :
오른쪽 하위 트리의 오른쪽 하위 트리에 노드가 추가될 때 트리의 균형이 깨지면 단일 왼쪽 회전을 수행합니다.
AVL 트리의 왼쪽 회전
오른쪽 회전 :
리눅스 어떤 명령왼쪽 하위 트리의 왼쪽 하위 트리에 노드가 추가되면 AVL 트리의 균형이 깨질 수 있으므로 단일 오른쪽 회전을 수행합니다.
AVL 트리의 오른쪽 회전
좌우 회전 :
좌우 회전은 오른쪽 회전이 실행된 후 첫 번째 왼쪽 회전이 발생하는 조합입니다.
AVL 트리의 왼쪽-오른쪽 회전
오른쪽-왼쪽 회전 :
좌우 회전은 왼쪽 회전이 실행된 후 첫 번째 오른쪽 회전이 발생하는 조합입니다.
AVL 트리의 오른쪽-왼쪽 회전
AVL 트리의 응용:
- 데이터베이스의 거대한 레코드를 색인화하고 효율적으로 검색하는 데 사용됩니다.
- 세트 및 사전을 포함한 모든 유형의 메모리 내 컬렉션에 대해 AVL 트리가 사용됩니다.
- 삽입과 삭제가 덜 일반적이지만 빈번한 데이터 조회가 필요한 데이터베이스 애플리케이션
- 최적화된 검색이 필요한 소프트웨어입니다.
- 기업 영역과 스토리라인 게임에 적용됩니다.
AVL 트리의 장점:
- AVL 트리는 스스로 균형을 유지할 수 있습니다.
- 확실히 비뚤어진 것은 아닙니다.
- Red-Black Tree보다 빠른 조회를 제공합니다.
- 이진 트리와 같은 다른 트리에 비해 검색 시간 복잡도가 더 높습니다.
- 높이는 log(N)을 초과할 수 없습니다. 여기서 N은 트리의 총 노드 수입니다.
AVL 트리의 단점:
- 구현하기가 어렵습니다.
- 일부 작업에는 높은 상수 요소가 있습니다.
- Red-Black 나무에 비해 덜 사용됩니다.
- 다소 엄격한 균형으로 인해 AVL 트리는 더 많은 회전이 수행될수록 복잡한 삽입 및 제거 작업을 제공합니다.
- 균형을 맞추려면 더 많은 처리가 필요합니다.
관련 기사:
캣 timpf 몸무게는 얼마야?
- 이진 검색 트리 소개 - 데이터 구조 및 알고리즘 튜토리얼
- AVL 트리에 삽입
- AVL 트리에서 삭제



