Escolar Documentos
Profissional Documentos
Cultura Documentos
Pagina 1 de 7
Árvore criada a partir do vector:
12 12
0 0
20 17 20 17
1 2 1 2
22 8 6 10 22 9 6 10
3 4 5 6 3 4 5 6
16 4 3 9 16 4 3 8
7 8 9 10 7 8 9 10
12 22
0 0
22 17 20 17
1 2 1 2
20 9 6 10 16 9 6 10
3 4 5 6 3 4 5 6
16 4 3 8 12 4 3 8
7 8 9 10 Passo 2: Burbulhar descendente [1 ao último].
Pagina 2 de 7
As sub-árvores cujas raizes estão em 8, 3, 4, 16, Passo 3: Burbulhar descendente [0 ao último].
10, 6, 9, 20, 17 e 22 são Heaps Todas as sub-árvores são Heaps
7 8 9 10
Tabela final
20
0 0
20 17 17
1 2 1 2
16 9 6 10 16 9 6 10
3 4 5 6 3 4 5 6
12 4 3 12 4 3
7 8 9 7 8 9
20 20
0 0
16 17 16 17
1 2 1 2
9 6 10 12 9 6 10
3 4 5 6 3 4 5 6
12 4 3 4 3
7 8 9 7 8 9
Passo 2: 8 < max (16, 9)? Sim: 16 sobe, buraco desce. Passo 3: 8 < max (12, 4)? Sim: 12 sobe, buraco desce.
Pagina 3 de 7
20
0
16 17
1 2
12 9 6 10
3 4 5 6
8 4 3
7 8 9
Tabela final
70 70 70 60
20 20 20 70
Pai vermelho , tio
null: Rotação
60
60 60 60
15 15 15
20 70 20 70 20 70
Pai vermelho, tio
vermelho: Recolorir
30 15 30 e continuar em avó 15 30
15
25 25
Remover 70
60 20 20
20
15 60 15 30
Duplo preto .
15 30 Irmão vermelho , 30 25 60
pai preto: Rotação .
Continuar com o nó
25
25
Irmão preto ,
sobrinho vermelho :
Rotação .
Pagina 5 de 7
b) [1.0]. Insira os nós 25 e 20 (por esta ordem).
Pagina 6 de 7
{
If (tree == null)
{
TreeNode novo = new TreeNode; //cria novo nodo
novo.elemento = elem; //recebe novo elemento
novo.leftChild = null; novo.rightChild =
null; return novo;
}
Else if(elem < tree.elemento) //vai para sub-arvore esquerda
tree.leftChild = constroiABP(tree.leftChild, elem);
else
tree.rightChild = constroiABP(tree.rightChild, elem); return tree;
}
Pagina 7 de 7