이전의 질문 에서 무게 균형을 잡은 나무의 정의와 레드-블랙 나무에 관한 질문 이있었습니다.
이 질문은 동일한 질문이지만 AVL 트리에 대한 것 입니다.
문제는 다른 질문에서와 같이 균형 트리 의 정의를 감안할 때
일부 있습니까 모든 충분히 큰 AVL 나무가되도록 -balanced?
AVL 트리에는 단 하나의 정의 만 있고 모호성이 없다고 가정합니다.
이전의 질문 에서 무게 균형을 잡은 나무의 정의와 레드-블랙 나무에 관한 질문 이있었습니다.
이 질문은 동일한 질문이지만 AVL 트리에 대한 것 입니다.
문제는 다른 질문에서와 같이 균형 트리 의 정의를 감안할 때
일부 있습니까 모든 충분히 큰 AVL 나무가되도록 -balanced?
AVL 트리에는 단 하나의 정의 만 있고 모호성이 없다고 가정합니다.
답변:
주장 : 아니요, 그러한 는 없습니다 .
증명 : 우리는 무게 균형 값이 인 경향이있는 성장하는 크기의 AVL 트리의 무한 시퀀스를 주장과 모순합니다.
하자 높이의 전체 트리 ; 그것은이 노드를.
하자 피보나치 트리 높이의 시간을 ; 그것은이 F의 H + 2 - (1 개) 노드를. [ 1 , 2 , TAoCP 3 ]
이제 T h = N ( S h , C h ) 인 을 반례라고 주장하는 나무의 순서를 보자.
일부 h ∈ N +에 대한 근의 무게 균형 값을 고려하십시오 .
이것으로 증명이 끝납니다.
표기법 :
참고 사항 : 피보나치 나무는 정확히 주어진 높이에 대해 가장 낮은 노드 (또는 주어진 노드 수에 대한 최대 높이)를 가진 AVL 트리입니다.
부록 : 피보나치 나무를 언급하는 교수를 듣지 않았다면 어떻게 피보나치 나무를 만들 수 있을까요? 글쎄, 가능한 적은 노드 가있는 높이 의 AVL 트리는 어떻게 생겼습니까? 확실히, 당신은 뿌리가 필요합니다. 하위 트리 중 하나는 높이 을 가져야하며 가능한 적은 노드로 선택해야합니다. 다른 하나는 높이 균형 조정 조건을 위반하지 않고 높이 를 가질 수 있으며 가능한 적은 노드로도 선택합니다. 본질적으로 우리는 재귀 적으로 원하는 나무를 만듭니다! 이들은 처음 네 가지입니다 :h - 1 h - 2
[ 출처 ]
이렇게 구성된 트리에서 높이 로 노드 수 에 대한 반복을 설정했습니다 .시간
그것을 해결하면 위에서 사용한 이됩니다.
Nievergelt와 Reingold (1972)에 의해 균형 잡힌 이진 검색 트리 에서 동일한 증거가 제공 됩니다.