Escolar Documentos
Profissional Documentos
Cultura Documentos
Estruturas de Dados:
rvores binrias
Prof. Dr. Loureno de Oliveira Basso
lourencobasso@charqueadas.ifsul.edu.br
Sumrio
rvores
rvores binrias
Percurso em rvores binrias
Altura da rvore
Atividade
Referncias
Leitura recomendada
Estruturas de Dados
Slide 2/32
Lineares x Hierrquicas
Estruturas que vimos at o momento (listas, pilhas, filas)
so adequadas para representar elementos dispostos
linearmente.
Como representar
hierrquica?
elementos
Estruturas de Dados
dispostos
de
forma
Slide 3/32
rvores
Um conjunto de ns tal que:
Existe um n r, denominado raiz, com zero ou mais sub-rvores,
cujas razes esto ligadas a r
Os ns razes destas sub-rvores so os filhos de r
Os ns internos da rvore so os ns com filhos
As folhas ou ns externos da rvore so os ns sem filhos
Estruturas de Dados
Slide 4/32
rvores binrias
Uma rvore em que cada n tem zero, um ou
dois filhos
Uma rvore binria :
Uma rvore vazia; ou
Um n raiz com duas sub-rvores:
A sub-rvore da esquerda (sae)
A sub-rvore da direita (sad)
Estruturas de Dados
Slide 5/32
Estruturas de Dados
Slide 6/32
rvore binria
Notao textual:
A rvore vazia representada por <>
rvores no vazias por <raiz sae sad>
Exemplo:
Estruturas de Dados
Slide 7/32
Representao de um n da rvore:
Estrutura em C contendo
A informao propriamente dita (exemplo: um caractere)
Dois ponteiros para as sub-rvores, esquerda e direita
Estruturas de Dados
Slide 8/32
Estruturas de Dados
Slide 9/32
Estruturas de Dados
Slide 10/32
Estruturas de Dados
Slide 11/32
Estruturas de Dados
Slide 12/32
raiz
Estruturas de Dados
duas
sub-rvores
Slide 13/32
Estruturas de Dados
Slide 14/32
Estruturas de Dados
Slide 15/32
Estruturas de Dados
Slide 16/32
Estruturas de Dados
Slide 17/32
Estruturas de Dados
Slide 18/32
Estruturas de Dados
Slide 19/32
Estruturas de Dados
Slide 20/32
Estruturas de Dados
Slide 21/32
Ordens de percurso
Pr-ordem:
Trata raiz, percorre sae, percorre sad
Exemplo: a b d c e f
Ordem simtrica:
Percorre sae, trata raiz, percorre sad
Exemplo: b d a e c f
Ps-ordem:
Percorre sae, percorre sad, trata raiz
Exemplo: d b e f c a
Estruturas de Dados
Slide 22/32
Questo
Como ficaria a implementao da funo de
impresso arv_imprime (abaixo) para atender:
Ordem simtrica?
Ps-ordem?
Estruturas de Dados
Slide 23/32
Altura
Propriedade fundamental de rvores
S existe um caminho da raiz para qualquer n
Exemplo:
h=2
Estruturas de Dados
Slide 24/32
Altura
Nvel de um n
A raiz est no nvel 0, seus filhos diretos no nvel 1, ...
O ltimo nvel da rvore a altura da rvore
Estruturas de Dados
Slide 25/32
Altura
rvore cheia
Todos os seus ns internos tm duas sub-rvores associadas
Nmero n de ns de uma rvore cheia de altura h
n = 2h+1 -1
Estruturas de Dados
Slide 26/32
Altura
rvore degenerada
Todos os seus ns internos tm uma nica sub-rvore
associada
Nmero n de ns de uma rvore degenerada de altura h
n = h+1
Estruturas de Dados
Slide 27/32
Altura
Esforo computacional necessrio
alcanar qualquer n da rvore:
para
Estruturas de Dados
Slide 28/32
Atividade
1) Implemente as funes apresentadas nos slides
anterior (inclusive as adies e remoes de
ns), bem como os trs tipos diferentes de
impresso de acordo com a ordem de percurso.
Observe os diferentes resultados com seus usos.
2) Implemente uma funo que calcula o nmero
de ns de uma rvore.
3) Implemente uma funo que calcula a altura de
uma rvore.
Estruturas de Dados
Slide 29/32
Referncias
CELES, Waldemar; CERQUEIRA, Renato;
RANGEL, Jos Lucas. Introduo a Estrutura
de Dados. Editora Campus, 2004.
Material didtico do Departamento
Informtica da PUC-Rio (2014).
Estruturas de Dados
de
Slide 30/32
Leitura complementar
Captulo 13 rvores. In: CELES, Waldemar;
CERQUEIRA, Renato; RANGEL, Jos Lucas.
Introduo a Estrutura de Dados. Editora
Campus, 2004.
Estruturas de Dados
Slide 31/32
Dvidas
Faa
contato
atravs
do
e-mail
lourencobasso@charqueadas.ifsul.edu.br ou
procure o professor no horrio de
atendimento ao estudante: teras, das 09:00
s 10:45 e das 17:30 s 19:00.
Estruturas de Dados
Slide 32/32