Você está na página 1de 17

ECOI08 Aula 3

Prof. Rafael Santos


Email: rafafic@gmail.com
rvores

Conceitos
A rvore consiste de ns e de arcos.
So representadas de cima para baixo
onde a raiz fica no topo e as folhas na
base.
A raiz no possui ancestrais, somente
ns filhos.
As folhas no tem ns filhos.
rvores

Conceitos
Definio recursiva
Uma estrutura vazia uma rvore vazia.
Se t1, ..., tk so rvores disjutas, ento a
estrutura cuja raiz tem como suas filhas as
razes de t1, ..., tk tambm uma rvore.
Somente estruturas geradas pelas regras 1 e
2 so rvores
Uma rvore deve ter uma nica raiz e
cada n pode ter n filhos.
rvores

Conceitos
Cada n tem que ser atingvel a partir da
raiz atravs de uma sequncia nica de
arcos chamada de caminho.
O nmero de arcos em um caminho
chamado de comprimento do caminho.
O nvel de um n o comprimento do
caminho da raiz ao n mais 1, que o
nmero de ns no caminho.
rvores

Conceitos
A altura de uma rvore no-vazia o
nvel mximo de um n na rvore.
Uma rvore vazia uma arvore de
altura 0 (por definio)
Um n nico uma rvore de altura 1.
rvores Binrios
Conceitos
Cada n tem no mximo 2 filhos
Cada filho designado como filho direito e filho
esquerdo
Uma rvore binria completa possui a seguinte
quantidade de n em seus nveis.
Nvel ns
1 20=1
2 21=2
3 22=4
... ...
n 2n-1
rvores

Percurso em rvores
o processo de visitar cada n da rvore
exatamente uma vez.
Percurso em Extenso (largura)
Visitar cada n comeando do nvel mais
baixo (ou mais alto) e movendo para baixo
(ou para cima) nvel a nvel, visitando cada
n da esquerda para a direita (ou da direita
para a esquerda). (4 possibilidades)
Implementar usando fila
rvores

Percurso em Profundidade
Prossegue tanto quanto possvel
esquerda (ou a direita), ento se move
para trs at a primeira encruzilhada, vai
uma passo para a direita (ou esquerda) e
novamente, tanto quanto possvel, para a
esquerda (ou direita). Repetimos este
processo at que todos os ns tenham
sidos visitados.
rvores

Percurso em Profundidade
Essa definio no define quando o n ser visitado.
Assim, existem 3 tarefas interessantes nesse tipo de
percurso
V visitar um n
L percorrer a subrvore esquerda
R percorres a subrvore direita
Podemos ter ento 6 tipos possveis de percursos
VLR VRL
LVR RVL
LRV RLV
rvores

Percurso em Profundidade
Os 3 mais utilizados e que possuem os
seguintes nomes padres
VLR cruzamento de rvore em pr-ordem
LVR cruzamento de rvore em in-ordem
LRV cruzamento de rvore em ps-ordem
Utilizamos na implementao da rvore de
pesquisa binria o cruzamento in-ordem para
imprimir a rvore.
rvores de pesquisa
A rvore de pesquisa uma estrutura de
dados muito eficiente para armazenar
informao.
Particularmente adequada quando existe
necessidade de considerar todos ou
alguma combinao de:
1. Acesso direto e seqencial eficientes.
2. Facilidade de insero e retirada de registros.
3. Boa taxa de utilizao de memria.
4. Utilizao de memria primria e secundria.
rvores binrias de pesquisa
rvores sem balanceamento
Para qualquer n que contenha um registro
rvores binrias de pesquisa
rvores binrias de pesquisa sem
balanceamento
Inserindo os elementos: 5, 7, 3, 2, 6, 1, 4
rvores binrias de pesquisa
rvores binrias de pesquisa sem
balanceamento
Inserindo os elementos: 5, 7, 3, 2, 6, 1, 4
rvores binrias de pesquisa
rvores binrias de pesquisa sem
balanceamento
remover os elementos 1, 5
rvores binrias de pesquisa

Exerccios
Referncia Bibliografia

DROZDEK, Adam. Estrutura de dados e algoritmos em C++. So Paulo:


Thomson, 2002.

ZIVIANI, Nivio. Projeto de Algoritmos com implementao em Pascal e C.


3a Edio. Ed. Cengage Learning, 2011.

Algumas informaes foram retiradas da Transparncias do livro acima acessados no


site: http://www.dcc.ufmg.br/algoritmos-edicao2/cap1/transp/completo1/cap4.pdf