Você está na página 1de 20

UNICAMP / FT ST 364 – Estruturas de Dados Prof. Luiz Camolesi Jr.

Introdução à
vo es Binárias
Árvores á as

• Introdução
• Objetivo
j
• Motivação
• Requisitos
Introdução
• O que é ?
• Representação à
Árvores Binárias
• Conceitos e Def.
• Algoritmos
• Inserção
• Remoção
• Travessia
• Busca
• Bibliografia
• Conclusão
Luiz Camolesi Jr.
Jr.

website
http://www.FT.unicamp.br/~camolesi/Dis_ED
-1
segunda-feira, 7 de outubro de 2013 camolesi@FT.unicamp.br
UNICAMP / FT ST 364 – Estruturas de Dados Prof. Luiz Camolesi Jr.

Introdução à • Objetivo
vo es Binárias
Árvores á as
Entender os princípios básicos da
• Introdução Estrutura de Dados conhecida como
• Objetivo
j
ÁRVORE BINÁRIA
BINÁRIA.
• Motivação
• Requisitos • Motivação
• O que é ?
ÁRVORES BINÁRIAS são ã estruturas
t t
• Representação
• Conceitos e Def.
amplamente utilizadas no armazenamento
• Algoritmos de dados em diversos softwares.
softwares
• Inserção
• Requisitos
• Remoção

Intrroduçãão
• Travessia
- Programação com Ponteiros
• Busca - Programação com Recursividade
• Bibliografia - Conceitos Gerais sobre ÁRVORES
• Conclusão
• Contexto
- Conhecendo as estruturas de dados usual
usual-
website mente empregadas no desenvolvimento
segunda-feira, 7 de outubro de 2013 de software. -2
UNICAMP / FT ST 364 – Estruturas de Dados Prof. Luiz Camolesi Jr.

Introdução à
vo es Binárias
Árvores á as
Não estamos falando de biologia
• Introdução
• Objetivo
j
• Motivação
Á
Árvore Bi
Binária
á i é uma Árvore.
Á
• Requisitos
• O que é ?
• Representação
• Conceitos e Def. Uma estrutura de dados com
• Algoritmos
• Inserção
características específicas para
• Remoção atender determinados tipos de
problemas de arma
armazenamento
enamento de

que é ?
• Travessia
• Busca dados.
• Bibliografia

Oq
• Conclusão
Estas características estão relacionadas
à organização dos dados e a lógica das
operações que podem ser realizadas.
website
segunda-feira, 7 de outubro de 2013
-3
UNICAMP / FT ST 364 – Estruturas de Dados Prof. Luiz Camolesi Jr.

Introdução à
vo es Binárias
Árvores á as

• Introdução
• Objetivo
j Clássica
(simplificada)
• Motivação
• Requisitos
• O que é ?
• Representação
• Conceitos e Def.
• Algoritmos

ntação
• Inserção
• Remoção
• Travessia

presen
• Busca
• Bibliografia
Detalhada

Rep
• Conclusão

website
segunda-feira, 7 de outubro de 2013
-4
UNICAMP / FT ST 364 – Estruturas de Dados Prof. Luiz Camolesi Jr.

Introdução à
vo es Binárias
Árvores á as

• Introdução Definição :
• Objetivo
j
Árvore Binária é um conjunto finito de elementos (nós).
(nós)
• Motivação
• Requisitos
Este conjunto pode ser vazio ou particionado em

nceitoss e Definiçõees
• O que é ? 3 subconjuntos disjuntos, denominados:
• Representação
• Conceitos e Def. - Raiz, um único nó pelo qual a estrutura tem início
• Algoritmos
- Sub-árvore Esquerda, é uma árvore binária
• Inserção
• Remoção
- Sub-árvore Direita, é uma árvore binária
• Travessia
• Busca
Raiz
• Bibliografia

Con
• Conclusão

Sub árvore
Sub-árvore
website Esquerda
segunda-feira, 7 de outubro de 2013
-5
UNICAMP / FT ST 364 – Estruturas de Dados Prof. Luiz Camolesi Jr.

Introdução à
vo es Binárias
Árvores á as

• Introdução
• Objetivo
j As associações entre nós são conhecidas como
• Motivação Ligações PAI-FILHO.
• Requisitos O nó origem de uma ligação é denominado Pai e o
• O que é ?
nóó destino
d ti é denominado
d i d Filho.
Filh NaN representação
t ã
• Representação
• Conceitos e Def.
temos que um Pai está diretamente acima de seu Filho.
• Algoritmos
• Inserção Em uma Árvore Binária, um nó Pai pode ter
• Remoção 0, 1 ou 2 filhos.
• Travessia
Os filhos são reconhecidos pelo
• Busca
• Bibliografia
lado (esquerdo ou direito) em que estão ligados
• Conclusão aos seus respectivos
ti nós
ó Pais.
P i
Todo nó Filho pode ter um único nó Pai.

website
segunda-feira, 7 de outubro de 2013
-6
UNICAMP / FT ST 364 – Estruturas de Dados Prof. Luiz Camolesi Jr.

Introdução à
vo es Binárias
Árvores á as

• Introdução
• Objetivo
j Seguindo as denominações anteriores, temos ainda:
• Motivação - Nó Ancestral
• Requisitos - Nó Descendente
• O que é ?
- Nó Irmão
I ã
• Representação
• Conceitos e Def.
• Algoritmos
• Inserção
• Remoção
• Travessia
• Busca Ex:
• Bibliografia
• Conclusão 71 é paii de
d 51 e 43
48 é descendente de 9
20 é irmão de 95
40 é ancestral
t l de
d 77
website
segunda-feira, 7 de outubro de 2013
-7
UNICAMP / FT ST 364 – Estruturas de Dados Prof. Luiz Camolesi Jr.

Introdução à
vo es Binárias
Árvores á as Mais definições....
• Introdução
• Objetivo
j
Nó Folha é um nó que não possui filhos.
• Motivação
• Requisitos
Nível de um nó é “distância” em ligações deste
• O que é ? nó até a Raiz. O nó Raiz está no nível 0 ((zero).
)
• Representação
• Conceitos e Def. Profundidade de uma árvore é o seu nível mais
• Algoritmos elevado ou seja
elevado, seja, o nível da folha mais distante da Raiz.
Raiz
• Inserção
• Remoção
• Travessia
Nível 0
• Busca 1
• Bibliografia 2
• Conclusão ...

Folha
website
segunda-feira, 7 de outubro de 2013 Profundidade: 4 -8
UNICAMP / FT ST 364 – Estruturas de Dados Prof. Luiz Camolesi Jr.

Introdução à
vo es Binárias
Árvores á as
Al
Algumas Á
Árvores Bi
Binárias
ái E Especificas
ifi
• Introdução
• Objetivo
j
• Motivação Árvore Estritamente Binária:- Todo nó não folha tem
• Requisitos
os filhos esquerdo e direito.
• O que é ?
• Representação
• Conceitos e Def. Árvore Binária Completa:- Todas as folhas estão no
• Algoritmos mesmo nível.
nível
• Inserção
• Remoção
Árvore Binária Ordenada:
Ordenada:- A distribuição dos dados
• Travessia
• Busca
pelos nós da árvore segue uma ordem, regra
• Bibliografia (ou política).
• Conclusão
Os algoritmos de inserção, atualização e remoção
de dados devem manter a organização e a ordem
website estabelecida na criação da estrutura.
segunda-feira, 7 de outubro de 2013
-9
UNICAMP / FT ST 364 – Estruturas de Dados Prof. Luiz Camolesi Jr.

Introdução à
vo es Binárias
Árvores á as
Ti da
Tipo d estrutura
t t – Linguagem
Li C
• Introdução
• Objetivo
j # de
definee num
u _nos
os 500
• Motivação
E táti
Estática
struct no {
• Requisitos
int info;
• O que é ?
• Representação
int filho_esq;
• Conceitos e Def. int filho_dir;
• Algoritmos };
• Inserção struct no arv_bin[num_nos];
• Remoção

Alggoritmos
• Travessia
• Busca Dinâmica
• Bibliografia
struct no {
• Conclusão int info;
struct no *filho_esq;
struct no *filho
filho_dir;
dir;
website };
segunda-feira, 7 de outubro de 2013
- 10
UNICAMP / FT ST 364 – Estruturas de Dados Prof. Luiz Camolesi Jr.

Introdução à
vo es Binárias
Árvores á as
I
Inserção
ã Sempre ocorre em Folhas
• Introdução
• Objetivo
j Em Árvore Binária Ordenadas:
• Motivação - dado menor que nó Pai fica na sub-árvore esquerda
• Requisitos - dado maior que nó Pai fica na sub-árvore direita
• O que é ?
• Representação
• Conceitos e Def.
• Algoritmos
• Inserção
• Remoção
• Travessia
• Busca
• Bibliografia
• Conclusão

website
segunda-feira, 7 de outubro de 2013
- 11
UNICAMP / FT ST 364 – Estruturas de Dados Prof. Luiz Camolesi Jr.

Introdução à
vo es Binárias
Árvores á as
R
Remoção
ã 1) Remoção de Folha
• Introdução 2) Remoção de Pai com 1 filho
• Objetivo
j 3) Remoção de Pai com 2 filhos
• Motivação
• Requisitos
• O que é ?
• Representação
• Conceitos e Def. 3)
• Algoritmos
• Inserção
• Remoção
• Travessia
• Busca 2)
• Bibliografia
• Conclusão

website
1) - 12
segunda-feira, 7 de outubro de 2013
UNICAMP / FT ST 364 – Estruturas de Dados Prof. Luiz Camolesi Jr.

Introdução à
vo es Binárias
Árvores á as 1) Pesquisa em Ordem
T
Travessia
i
• Introdução 2) Pesquisa Pré-ordem
• Objetivo
j 3)) Pesquisa
q Pós-ordem
• Motivação 4) Pesquisa em nível
• Requisitos
• O que é ?
• Representação
• Conceitos e Def.
• Algoritmos
• Inserção
• Remoção
• Travessia
• Busca
• Bibliografia
• Conclusão
1) ORDEM Ex:
• Ir ao Filho Esquerdo 1,2,3,4,5,7,10,12,16
, , , , , , , ,
• Processar Dado
website
segunda-feira, 7 de outubro de 2013
• Ir ao Filho Direita - 13
UNICAMP / FT ST 364 – Estruturas de Dados Prof. Luiz Camolesi Jr.

Introdução à
vo es Binárias
Árvores á as 1) Pesquisa em Ordem
T
Travessia
i
• Introdução 2) Pesquisa Pré-ordem
• Objetivo
j 3)) Pesquisa
q Pós-ordem
• Motivação 4) Pesquisa em nível
• Requisitos
• O que é ?
• Representação
• Conceitos e Def.
• Algoritmos
• Inserção
• Remoção
• Travessia
• Busca
• Bibliografia
• Conclusão
2) PRÉ-ORDEM Ex:
• Processar Dado 5,2,1,4,3,12,7,10,16
, , , , , , , ,
• Ir ao Filho Esquerdo
website
segunda-feira, 7 de outubro de 2013
• Ir ao Filho Direita - 14
UNICAMP / FT ST 364 – Estruturas de Dados Prof. Luiz Camolesi Jr.

Introdução à
vo es Binárias
Árvores á as 1) Pesquisa em Ordem
T
Travessia
i
• Introdução 2) Pesquisa Pré-ordem
• Objetivo
j 3)) Pesquisa
q Pós-ordem
• Motivação 4) Pesquisa em nível
• Requisitos
• O que é ?
• Representação
• Conceitos e Def.
• Algoritmos
• Inserção
• Remoção
• Travessia
• Busca
• Bibliografia
• Conclusão
3) PÓS-ORDEM Ex:
• Ir ao Filho Esquerdo 1,3,4,2,10,7,16,12,5
, , , , , , , ,
• Ir ao Filho Direita
website
segunda-feira, 7 de outubro de 2013
• Processar Dado - 15
UNICAMP / FT ST 364 – Estruturas de Dados Prof. Luiz Camolesi Jr.

Introdução à
vo es Binárias
Árvores á as 1) Pesquisa em Ordem
T
Travessia
i
• Introdução 2) Pesquisa Pré-ordem
• Objetivo
j 3)) Pesquisa
q Pós-ordem
• Motivação 4) Pesquisa em nível
• Requisitos
• O que é ?
• Representação
• Conceitos e Def.
• Algoritmos
• Inserção
• Remoção
• Travessia
• Busca
• Bibliografia
• Conclusão
Ex:
5,2,12,1,4,7,16,3,10
, , , , , , , ,
website
segunda-feira, 7 de outubro de 2013
- 16
UNICAMP / FT ST 364 – Estruturas de Dados Prof. Luiz Camolesi Jr.

Introdução à
vo es Binárias
Árvores á as Seguir a ordenação para
B
Busca
• Introdução localização do dado
• Objetivo
j
• Motivação
• Requisitos
• O que é ?
• Representação
• Conceitos e Def.
• Algoritmos
• Inserção
• Remoção
• Travessia
• Busca
• Bibliografia Se valor procurado = valor em nó Pai
• Conclusão então encontrou
senão Se valor procurado < valor em nó Pai
então
tã Ir
I ao Filho
Filh Esquerdo
E d (recursivo)
website
senão ao Filho Direita (recursivo) - 17
segunda-feira, 7 de outubro de 2013
UNICAMP / FT ST 364 – Estruturas de Dados Prof. Luiz Camolesi Jr.

Introdução à
vo es Binárias
Árvores á as

• Introdução
• Objetivo
j
• Motivação
• Requisitos
• O que é ?
• Representação
• Conceitos e Def.
• Algoritmos • Estruturas de Dados Usando C
• Inserção Aaron Tenenbaum e outros

Bibliograafia
• Remoção
Ed. Makron,, 1995
• Travessia
• Busca
• Bibliografia • C++ Como Programar
• Conclusão H. M. Deitel, P. J. Deitel
Ed. Bookman, 2001

website
segunda-feira, 7 de outubro de 2013
- 18
UNICAMP / FT ST 364 – Estruturas de Dados Prof. Luiz Camolesi Jr.

Introdução à
vo es Binárias
Árvores á as

• Introdução
• Objetivo
j
Foi apresentado resumidamente os conceitos, definições e
• Motivação
a lógica das operações sobre Árvores
Á Binárias
• Requisitos
• O que é ?
Nesta apresentação foram apresentados somente elementos
• Representação
referentes às Árvores Binárias “clássicas”.
• Conceitos e Def.
Existem algumas variações sobre estas estruturas que podem
• Algoritmos
ser utilizadas na otimização
ç determinados algoritmos
g para
p
• Inserção
problemas específicos.
• Remoção

nclusãão
• Travessia
Por exemplo: - nós filhos com ponteiros para os pais
• Busca
- ponteiros entre irmãos e etc.
• Bibliografia

Con
• Conclusão

website
segunda-feira, 7 de outubro de 2013
- 19
UNICAMP / FT ST 364 – Estruturas de Dados Prof. Luiz Camolesi Jr.

Introdução à
vo es Binárias
Árvores á as

• Introdução
• Objetivo
j
• Motivação
• Requisitos
Dentro do contexto da disciplina, conhecemos mais um
• O que é ?
recurso (estrutura
( de
d dados),
d d ) que na sua fforma ““classica”,
l i ”
• Representação
modificada ou combinada com outras estruturas, poderá ser
• Conceitos e Def.
utilizada no desenvolvimento de software para obtenção
• Algoritmos
de um desempenho adequado.
• Inserção
• Remoção
• Travessia
• Busca
• Bibliografia
• Conclusão

website
segunda-feira, 7 de outubro de 2013
- 20

Você também pode gostar