aed1 - Árvoreshebert/disc/aed1/aed1_10_arvores.pdf · Árvore material baseado no capítulo 3 e 4...

49

Upload: others

Post on 14-Aug-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

AED1 - Árvores

Hebert Coelho

Instituto de InformáticaUniversidade Federal de Goiás

HC AED1-Árvores 1/49

Page 2: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Roteiro

Árvore;

Árvores - Representações;

Árvores - Conceitos;

Árvores Binárias;

Árvores Binárias - Conceitos;

Árvores Binárias - Representação;

Árvores Binárias - Percursos;

Árvores Binárias - Percursos Recursivos;

Árvores Binárias de Busca.

HC AED1-Árvores 2/49

Page 3: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvore

Material baseado no capítulo 3 e 4 do livro Estruturas de Dadose seus Algoritmos, 2o edição, Autores: Jayme Luiz Szwarc�ter,Lilian Markenzon.

HC AED1-Árvores 3/49

Page 4: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Aplicações de árvores

Diversas aplicações necessitam que se represente um conjuntode objetos e suas relações hierárquicas;Várias são as aplicações de árvores:

Relações de descendência;Diagrama hierárquico de uma organização;Campeonatos e modalidades esportivasTaxonomia;Busca de Dados armazenados no computador;Representação de espaço de soluções (ex: jogo de xadrez);Modelagem de algoritmos.

HC AED1-Árvores 4/49

Page 5: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Exemplo de aplicação de árvores

HC AED1-Árvores 5/49

Page 6: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvore

De�nição:

Uma árvore enraizada T é um conjunto �nito de vértices (nós) taisque:

T é um conjunto vazio, ou

Existe um nó r (raiz) tal que os demais nós são particionadosem m > 1 conjuntos não vazios, as subárvores de r e sendocada um desses conjuntos uma árvore.

HC AED1-Árvores 6/49

Page 7: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores - Representações

a) Representação Hierárquica:

Círculos são chamados de nós ou vértices e as retas são chamadasde arestas.

b) Parênteses Aninhados:

( 1 ( 3 ( 4 ) ) ( 2 ) ( 5 ) )

HC AED1-Árvores 7/49

Page 8: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores - Conceitos

B é �lho de A;

B é tio de D;

B é irmão de C;

D é sobrinho de E;

D, B e E são folhas;

A e C são nós intermediários (internos).

HC AED1-Árvores 8/49

Page 9: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores - Conceitos

Raiz é o nó que na representação hierárquica que estadesenhado na parte mais alta da ávore, o único nó que nãopossui pai;

Caminho é uma sequencia de nós de modo que existe sempreuma aresta ligando o nó anterior com o seguinte;

HC AED1-Árvores 9/49

Page 10: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores - Conceitos

A quantidade de arestas entre dois vértices é o comprimentodo caminho entre os vértices;

A altura de um nó x é a maior altura de um �lho de x

acrescido de 1, a altura de uma folha é 1;

A altura de uma árvore é a altura da raiz;

O nível de um nó x é o comprimento do caminho de x até araiz;

Existe um único caminho entre dois nós de uma árvore.Exercício: prove o último item!

HC AED1-Árvores 10/49

Page 11: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Tipos de Árvores

Árvore binária de busca;

Árvore AVL;

Árvore Rubro-Negra;

Árvore B, B+ e B*;

Árvore 2-3;

Árvore 2-3-4;

Quadtree;

Octree;

etc.

HC AED1-Árvores 11/49

Page 12: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias

De�nição:

Uma árvore binária enraizada T é um conjunto �nito de vértices(nós) tais que:

T é um conjunto vazio, ou

Existe um nó r (raiz) tal que os demais nós são particionadosem 2 subconjuntos disjuntos, as subárvores esquerda (Te) edireita (Td ) de r, sendo cada uma delas uma árvore binária.

HC AED1-Árvores 12/49

Page 13: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Conceitos

Exemplo:

Subárvore esquerda (Te) do nó raiz com chave 1;

Subárvore direita (Td ) do nó raiz.com chave 1.

HC AED1-Árvores 13/49

Page 14: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Conceitos

n = 9

O número de subárvores nulas (ponteiros nulos) em umaárvore binária com n nós é n+1;

Exercício: Prove!

HC AED1-Árvores 14/49

Page 15: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Conceitos

Uma árvore é:

Estritamente Binária se cada nó tem 0 ou 2 �lhos;

Binária Completa se as subárvores nulas estão todas abaixodos dois últimos níveis;

Binária Cheia se as subárvores nulas estão todas abaixo doúltimo nível.

HC AED1-Árvores 15/49

Page 16: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Conceitos

Árvore Estritamente Binária

Exercícios:1 Desenhar todas as árvores binárias distintas para com 3 chaves

(ex. 1, 2, 3);2 Desenhar uma árvore estritamente binária com 11 nós e altura

5.

HC AED1-Árvores 16/49

Page 17: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Conceitos

Árvore Binária Cheia

Exercícios:1 Quantos nós tem uma árvore binária cheia de altura h?2 Qual o número mínimo de nós em uma árvore binária completa

de altura h?

HC AED1-Árvores 17/49

Page 18: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Conceitos

Altura h de uma árvore árvore binária completa com n nós:

2h−1 ≤ n ≤ 2h − 1⇒ h = blog2nc+ 1

Altura de uma árvore binária com n nós:

blog2nc+ 1 ≤ h ≤ n

HC AED1-Árvores 18/49

Page 19: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Representação

Representação de cada nó:

info left right

1 Typedef struct no2 {3 int info;4 struct no ∗left;5 struct no ∗right;6 } no ;

HC AED1-Árvores 19/49

Page 20: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Percursos

Percursos em árvores binárias são formas sistemáticas de percorrer(visitar) os nós da árvore.

Percurso em Nível;

Percurso em Pré-Ordem;

Percurso em Ordem Simétrica;

Percurso em Pós-Ordem.

HC AED1-Árvores 20/49

Page 21: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Percursos

Percurso em Nível:

A ideia é visitar um nível a cada vez, de cima para baixo e daesquerda para a direita.

+ * - A B C / D E

HC AED1-Árvores 21/49

Page 22: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Percursos

1 Percurso_nivel ( T )2 Esvazia(Fila);3 Enfila (T);4

5 Enquanto (Fila não estiver Vazia):6 Desenfila (p);7 Visita (p);8 Enfila (p−>esq);9 Enfila (p−>dir);10 Fim enquanto;11 Fim;

+ * - A B C / D E

HC AED1-Árvores 22/49

Page 23: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Percursos

Exercício:

Mostrar a situação da �la na Busca em nível da árvore acima.

HC AED1-Árvores 23/49

Page 24: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Percursos

Percurso em Pré-Ordem (RED):

A ideia é visitar, sistematicamente, a raiz, em seguida toda asubárvore esquerda e depois toda a subárvore direita.

+ * A B - C / D E

HC AED1-Árvores 24/49

Page 25: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Percursos

1 Pré−Ordem ( T )2 Esvazia (Pilha);3 PUSH (T);4

5 Enquanto(topo != NULO)//pilha não vazia6 POP (p); Visita (p);7 PUSH (p−>dir);8 PUSH (p−>esq);9 Fim enquanto;10 Fim;

+ * A B - C / D EHC AED1-Árvores 25/49

Page 26: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Percursos

Exercício:

Mostrar a situação da pilha na Busca em pré-ordem da árvoreacima.

HC AED1-Árvores 26/49

Page 27: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Percursos

Percurso em Ordem Simétrica (ERD):

A ideia é visitar, sistematicamente, toda a subárvore esquerda,a raiz, e em seguida toda a subárvore direita.

A * B + C - D / E

HC AED1-Árvores 27/49

Page 28: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Percursos

1 Ordem Simétrica ( T )2 Esvazia (Pilha); p = T;3 Enquanto ((p != NULO) || (topo != NULO))4 Enquanto (p != Nulo):5 PUSH (p); p = p−>esq;6 Fim enquanto;7 POP (p); Visita (p); p = p−>dir;8 Fim enquanto;9 Fim;

A * B + C - D / E

HC AED1-Árvores 28/49

Page 29: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Percursos

Exercício:

Mostrar a situação da pilha na Busca em ordem simétrica da árvoreacima.

HC AED1-Árvores 29/49

Page 30: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Percursos

Percurso em Pós-Ordem (EDR):

A ideia é visitar, sistematicamente, toda a subárvore esquerda,em seguida toda a subárvore direita e, por �m, a raiz.

A B * C D E / - +

HC AED1-Árvores 30/49

Page 31: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Percursos

Exercícios:1 Implementar o percurso em pós-ordem;2 Mostrar a situação da pilha na Busca em pós-ordem da árvore

acima;3 Implementar todos os percursos em linguagem C.

HC AED1-Árvores 31/49

Page 32: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Percursos

1 Pos−Ordem ( T )2 Esvazia Pilha; p = T;3

4 Enquanto ((p != NULO) || (topo != NULO)):5 Enquanto (p != Nulo):6 PUSH (p, 1); p = p−>esq;7 Fim enquanto;8

9 Enquanto ((p == NULO) && (topo != NULO)):10 POP (p, vez);11 Se ((vez = 1) && (p−>dir != Nulo)) Então12 PUSH(p, 2); p = p−>dir;13 Senão

14 Visita (p); p != Nulo;15 Fim enquanto;16 Fim enquanto;17 Fim;

HC AED1-Árvores 32/49

Page 33: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Percursos Recursivos

A maioria dos percursos em árvores binárias são intrinsecamenterecursivos, pois cada percurso se constitui em visitar nós especiais esubárvores (problemas menores).

Percurso em Pré-Ordem;

Percurso em Ordem Simétrica;

Percurso em Pós-Ordem.

HC AED1-Árvores 33/49

Page 34: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Percursos Recursivos

Percurso em Pré-Ordem (RED):

1 Visitar a raiz;2 Visitar a subárvore esquerda em Pré-Ordem;3 Visitar a subárvore direita em Pré-Ordem.

+ * A B - C / D E

HC AED1-Árvores 34/49

Page 35: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Percursos Recursivos

+ * A B - C / D E

1 Pré−Ordem (p);2 Se (p != Nulo) Então3 Visita (p);4 Pré−Ordem (p−>esq);5 Pré−Ordem (p−>dir);6 Fim se

7 Fim;

Chamada externa:

1 Pré−Ordem ( T )

HC AED1-Árvores 35/49

Page 36: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Percursos Recursivos

Percurso em Ordem Simétrica (ERD):

1 Visitar a subárvore esquerda In-Ordem;2 Visitar a raiz;3 Visitar a subárvore direita In-Ordem.

A * B + C - D / E

HC AED1-Árvores 36/49

Page 37: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Percursos Recursivos

A * B + C - D / E

1 Ordem−simetrica (p);2 Se(p != Nulo) Então3 Ordem−simetrica (p−>esq);4 Visita (p);5 Ordem−simetrica (p−>dir);6 Fim se;7 Fim;

Chamada externa:

1 Ordem−Simetrica (T);

HC AED1-Árvores 37/49

Page 38: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Percursos Recursivos

Percurso em Pós-Ordem (EDR):

1 Visitar a subárvore esquerda em Pós-Ordem;2 Visitar a subárvore direita em Pós-Ordem;3 Visitar a raiz.

A B * C D E / - +

HC AED1-Árvores 38/49

Page 39: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias - Percursos Recursivos

A B * C D E / - +

1 Pós−Ordem (p)2 Se (p != Nulo) Então3 Pós−Ordem (p−>esq);4 Pós−Ordem (p−>dir);5 Visita (p);6 Fim se

7 Fim;

Chamada externa:

1 Pós−Ordem(T);

HC AED1-Árvores 39/49

Page 40: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias de Busca

São árvores construídas com a seguinte regra: para cada nó r daárvore, todas as chaves da subárvore esquerda de r são menores quea chave de r, e todas as chaves da subárvore direita de r maiores.

Exemplo:

HC AED1-Árvores 40/49

Page 41: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias de Busca

Exercício:

Desenhar todas as ABBs distintas para as chaves: 1, 2, 3 e 4, com1 na raiz?

HC AED1-Árvores 41/49

Page 42: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias de Busca

Inserções:

Sempre é possível inserir uma chave não existente, através de umprocesso simples.4, 1, 9, 2, 11, 6, 3, 7, 12, 8, 5, 10

HC AED1-Árvores 42/49

Page 43: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias de Busca

Exercício:

Desenhar ABBs para as chaves incluídas nas seguintes ordens:a) 1, 2, 3, 4, 5, 12, 11, 10, 6, 9, 7, 8b) 1, 12, 2, 11, 4, 10, 3, 9, 8, 5, 6, 7

HC AED1-Árvores 43/49

Page 44: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias de Busca

O percurso em ordem simétrica obtém as chaves ordenadas.Exemplo:

Ordem:2 15 16 20 51 80 99 101 213

Essa propriedade conduz ao método de ordenação TreeSort!!!

HC AED1-Árvores 44/49

Page 45: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias de Busca

Exercício

Colocar as chaves 1,2,3,4,5,6,7,8,9,10,11,12 na estrutura abaixo, talque tenhamos uma ABB.

HC AED1-Árvores 45/49

Page 46: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias de Busca

Altura de uma ABBAltura mínima: árvore completa.h = blog2nc+ 1 = dlog2(n + 1)e

Altura máxima: árvore degenerada. h = n

Altura média (Knuth 73): h ≈ 1, 4log2n

HC AED1-Árvores 46/49

Page 47: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias de Busca

Árvore de Decisão da Pesquisa Binária (ADPB)A Pesquisa Binária pode ser melhor compreendida por uma ABB,que representa o processo de busca no vetor.

HC AED1-Árvores 47/49

Page 48: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias de Busca

Árvore de Decisão da Pesquisa Binária

É uma árvore binária completa e pode ser construídarecursivamente.

HC AED1-Árvores 48/49

Page 49: AED1 - Árvoreshebert/disc/aed1/AED1_10_Arvores.pdf · Árvore Material baseado no capítulo 3 e 4 do livro Estruturas de Dados e seus Algoritmos , 2 o edição, Autores: Jayme Luiz

Árvores Binárias de Busca

Exercício:

Desenhar a ADPB para n = 11?

HC AED1-Árvores 49/49