Uma árvore binária possui 1 ou 2 filhos nos nós não foliares e 0 nós nos nós foliares. Haja nós em uma árvore e temos que organizá-los de tal maneira que eles ainda formam uma árvore binária válido.n
Sem provar, estou afirmando que, para maximizar a altura, determinados nós devem ser organizados linearmente, ou seja, cada nó não-folha deve ter apenas um filho:
O 1
|
O 2
|
O 3
|
O 4
|
O 5
|
O 6
|
O 7
|
O 8
Aqui, a fórmula para calcular a relação da altura em termos de número de nós é direta. Se é a altura da árvore, então h = n - 1 .hh = n - 1
n
O
|1
|
O------+-----O
|2 |3
| |
O---+---O O---+----O
|4 |5 6 7
| |
O---+--O O
8 9 10
n = 2m- 1
20 0+ 21 1+ 22+ . . . + 2m - 1= 2m- 1
Eu2Eu
Eu0 0m2i - 12m- 12m- 1h ( 2m- 1 ) = m - 1h(n)=n
h(2m)=m2m−1(2m−1)+1=2mmm−1m
h(2m)=m,
h(2m+1)=m+1
h(2m+1−1)=m
∀n∈Z,2m≤n<2m+1
m≤h(n)<m+1
m≤log2(n)<m+1
m=⌊log2(n)⌋
∀n,n∈[2m,2m+1)
h(n)=m=⌊log2(n)⌋
∀n∈Z
log2(n+1)−1nlog2(n)n