SlideShare uma empresa Scribd logo
1 de 118
Baixar para ler offline
# Estrutura de Dados #
Aula 13 – Árvores
conceito, elementos, tipos e utilizações
Prof. Leinylson Fontinele Pereira
Naaulaanterior...
 Listas Duplamente Encadeadas
# Propriedades
# Operações fundamentais
12:17 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Introdução
12:17 3
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
O que vamosaprender?
 Árvores
# Conceito
# Componentes
# Tipos de árvores
# Onde são utilizadas?
12:17 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Vamos começar?
12:17 5
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
12:17
O que é uma Árvore?
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
12:18
Algumas Árvores... 
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
O queé uma Árvore?
12:18
 São um tipo especial de grafo
 Qualquer par de vértices (nós) está
conectado a apenas uma aresta
 Grafo conexo (todos estão conectados)
 Acíclico (não possui ciclos)
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Formasde Representação
12:18
Grafo
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Diagrama de Venn
O queé uma Árvore?
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Árvores
12:18
 As árvores são uma das estrutura de dados
mais importantes da área da computação
 Utilizada em muitas aplicações do mundo real
 Os relacionamentos lógicos entre os dados
representam alguma dependência de hierarquia
ou composição entre os nodos;
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Árvores:ConceitosBásicos
12:18
As linhas que unem 2 nodos representam os relacionamentos lógicos e as
dependências de subordinação existentes entre eles
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Árvores:ConceitosBásicos
12:18
Relacionamentos de subordinação, formando hierarquias, podem
apresentar diferentes significados
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Hierarquiade Especialização
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Hierarquiade Composição
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Hierarquiade Dependência
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
RepresentaçãoGráficade umaÁrvore
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Terminologia
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
 A terminologia não é padronizada;
 Existem nomes diferentes para os
mesmos conceitos em diferentes
publicações.
Terminologia
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
 Raiz (root)
 Todos os outros nós da árvore são subordinados a ele
 O acesso a todos os nós é sempre a partir dele
 Nós descendentes:
 Relação de dependência com o nó mais acima
Terminologia
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
 Caso o número de nós seja diferente
de zero, existe sempre uma raiz;
 Caso o número de nós seja zero, é
denominada vazia.
Terminologia
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Terminologia
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
 Subárvore
 Conjunto de nós subordinados a um único nó, externo a esta subárvore
Terminologia
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
 Grau de Um Nó
 Número de subárvores que são subordinadas diretamente a esse nó.
 Grau de uma Árvore
 É o maior valor dentre os graus de todos os seus nós.
Terminologia
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Terminologia
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
 Folha ou Terminal (externo)
 São os nós de grau zero
 Nó de derivação (interno)
 Nós de grau maior do que zero e que apresentam uma subárvore
Terminologia
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Terminologia
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
 Nível de um Nó
 Número de ligações entre este nó e a raiz da árvore mais um
 Caminho
 Sequência de nós consecutivos distintos entre dois nós
 Comprimento do Caminho
 Número de níveis entre os dois nós menos um
Terminologia
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Terminologia
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
 Altura ou Profundidade
 É o número de nós do maior caminho deste nó até um de
seus descendentes-folha
 A altura de uma árvore é igual ao maior nível de seus nós
 Todos os nós folha tem altura 1.
Terminologia
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
 Floresta
 Conjunto de zero ou mais árvores disjuntas
 Árvore ordenada
 Quando a ordem de suas subárvores é relevante para a
aplicação que está sendo representada através desta
estrutura de dados.
Terminologia
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoreBinária (BinaryTree)
12:18
 Quando apresentar no máximo grau 2 em cada nó
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoreBinária (BinaryTree)
12:18
 O grau de cada nó pode ser 0, 1 ou 2
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoreEstritamenteBinária
12:18
 Cada nó possui 0 ou 2 subárvores
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoreBinária (BinaryTree)
12:18
 Quando apresentar no máximo grau 2 em cada nó
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoreBinária:Varreduraesquerda‐raiz‐direita
12:18
 Conhecida como inorder traversal, ou varredura
central, ou varredura infixa.
 Na varredura e‐r‐d visitamos
1. A subárvore esquerdada raiz, em ordem e‐r‐d
2. A raiz
3. Finalmente a subárvore direita da raiz, em ordem e‐r‐d
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoreBinária:Varreduraesquerda‐raiz‐direita
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoreBinária:Varreduraesquerda‐raiz‐direita
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoreBinária:Varreduraraiz‐esquerda‐direita
12:18
 Conhecida como preorder traversal, ou varredura em
pré‐ordem, ou varredura prefixa.
 Na varredura r‐e‐d visitamos
1. Visita a raiz
2. Percorre a subárvore esquerda em pré-ordem
3. Percorre a subárvore direita em pré-ordem
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoreBinária:Varreduraesquerda‐direita‐raiz
12:18
 Conhecida como postorder traversal, ou varredura em
pós‐ordem, ou varredura posfixa.
 Na varredura e‐d‐r visitamos
1. Percorre a subárvore esquerda em pós-ordem
2. Percorre a subárvore direitaem pós-ordem
3. Visita a raiz
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoreBinária:Tiposde Varreduras
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoreBinária:ContagemdosNós
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresBináriasde Busca
12:18
Considere uma árvore binária
cujos nós têm um campo chave
de um tipo linearmente
ordenado, ou seja, de um tipo
(como números, caracteres, e
strings) que admite
comparações.
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresBináriasde Busca
12:18
 Uma árvore binária é de busca (em relação ao campo chave)
se cada nó X tem a seguinte propriedade:
 A chave de X é maior ou igual à chave de qualquer nó na subárvore
esquerda de X e menor ou igual à chave de qualquer nó na subárvore
direita de X.
 Em outras palavras, se x é um nó qualquer então y->chave ≤
x->chave ≤ z->chave para todo nó y na subárvore esquerda
de x e todo nó z na subárvore direita de x.
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresBináriasde Busca
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresBináriasde Busca:versão recursiva
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresBináriasde Busca:versãoiterativa
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresBináriasde Busca:versãoiterativa
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
 No pior caso, a busca consome tempo proporcional à altura
da árvore. Se a árvore for balanceada, o consumo será
proporcional a log n , sendo n o número de nós.
 Esse tempo é da mesma ordem que a busca binária num vetor
ordenado.
ÁrvoresBináriasde Busca:Inserção
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Considere o seguinte problema: Inserir um novo nó, com chave k, em
uma árvore de busca. É claro que a árvore resultante deve também ser
de busca. O novo nó tem a forma de uma folha avulsa e pode ser criado
assim:
ÁrvoresBináriasde Busca:Inserção
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresBináriasde Busca:Remoção
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Problema: Remover um nó de uma árvore de busca de tal
forma que a árvore continue sendo de busca.
Comecemos tratando do caso em que o nó a ser removido é a
raiz da árvore. Se a raiz não tem um dos filhos, basta que o
outro filho assuma o papel de raiz. Senão, faça com que o nó
anterior à raiz na ordem e-r-d assuma o papel de raiz.
ÁrvoresBináriasde Busca:Remoção
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresBináriasde Busca:Remoção
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresBináriasde Busca:Remoção
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
 A exclusão de um nó é um processo mais complexo. Para excluir um nó de uma
árvore binária de busca, há de se considerar três casos distintos para a exclusão:
ÁrvoresBináriasde Busca:Remoção
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
 Exclusão na folha
 A exclusão na folha é a mais simples, basta removê-lo da árvore.
ÁrvoresBináriasde Busca:Remoção
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
 Exclusão de um nó com um filho
 Excluindo-o, o filho sobe para a posição do pai.
ÁrvoresBináriasde Busca:Remoção
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
 Exclusão de um nó com dois filhos
 Neste caso, pode-se operar de duas maneiras diferentes. Pode-se substituir o
valor do nó a ser retirado pelo valor sucessor (o nó mais à esquerda da subárvore
direita)
 Ou pelo valor antecessor (o nó mais à direita da subárvore esquerda),
removendo-se aí o nó sucessor (ou antecessor).
ÁrvoresBináriasde Busca:Remoção
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Árvore 𝑛-ária
12:18
 Quando apresentar no máximo grau 𝑛 em cada nó
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoreIsomorfa
12:18
 Quando é possível que se tornem coincidentes
através de uma permutação na ordem das
subárvores de seus nós
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresBalanceadas(Equilibrada)
12:18
 É aquela na qual existe uma
distribuição equilibrada entre
os nós da árvore
 Existe uma diferença mínima
entre todas as folhas e a raiz.
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresCheiaou CompletamenteBalanceada
12:18
 É aquela em que todas as folhas estão a uma
distância igual da raiz.
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoreBináriaQuaseCompleta
12:18
 A diferença de altura entre as subárvores de
qualquer nó é no máximo 1.
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresAVL
12:18
 Árvore balanceada pela altura
 As alturas das duas subárvores a partir de cada
nó diferem no máximo em uma unidade
 As operações de busca, inserção e remoção de
elementos possuem complexidade O(log n)
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresAVL
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresAVL:Rotação
12:18
 Uma rotação simples ocorre quando um nó está
desbalanceado e seu filho estiver no mesmo
sentido da inclinação, formando uma linha reta.
 Uma rotação-dupla ocorre quando um nó estiver
desbalanceado e seu filho estiver inclinado no
sentido inverso ao pai, formando um “joelho”.
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresAVL:Rotação
12:18
 Para garantirmos as propriedades da árvore
AVL rotações devem ser feitas conforme necessário
após operações de remoção ou inserção.
 Seja P o nó pai, FE o filho da esquerda
de P e FD o filho da direita de P podemos definir 4
tipos diferentes de rotação:
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresAVL:Rotaçãoà Direita
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresAVL:Rotaçãoà Esquerda
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresAVL: RotaçãoDuplaà Direita
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresAVL: RotaçãoDuplaà Esquerda
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoreRubroNegra
12:18
 Nas árvores rubro-negras, os nós folhas não são
relevantes e não contém dados.
 Estas folhas não precisam ser mantidas em
memória de computador, basta apenas um
ponteiro para nulo para identificá-las.
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoreRubroNegra
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoreRubroNegra
12:18
 Um nó é vermelho ou preto.
 A raiz é preta.
 Todas as folhas(nil) são pretas.
 Ambos os filhos de todos os nós vermelhos são pretos.
 Todo caminho de um dado nó para qualquer de seus nós
folhas descendentes contem o mesmo número de nós pretos.
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
OperaçõesBásicas
12:18
 Criação de uma árvore
 Alocação das variáveis necessárias para a definição da árvore
 As demais operações são habilitadas depois disso
 Inserção de um novo nó
 Como raiz
 Como folha
 Como uma posição intermediária
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
OperaçõesBásicas
12:18
 Exclusão de um Nó
 Quando não se realiza sobre uma folha, precisa reorganizar a árvore
 Acesso a um Nó
 Destruição de uma árvore
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
OperaçõesBásicas
12:18
 Pai
 Dado um determinado nó, retorna o endereço do nó
imediatamente superior
 Tamanho
 Retorna o número total de nós de uma árvore
 Altura
 Retorna a altura da árvore
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresUsando ContiguidadeFísica
12:18
Não é intuitiva como era no caso das Listas Lineares
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresUsando ContiguidadeFísica
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
A(3) B(1) C(0) D(4) E(0) F(0) G(0) H(0) I(0)
A(3) B(1) E(0) C(0) D(4) F(0) G(0) H(0) I(0)
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
VantagensUsandoContiguidadeFísica
12:18
 Eficiente em termos de espaço,
principalmente quando o grau não varia
muito
 Implementação é mais simples se existir
limitação do número de descendentes.
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
DesvantagensUsandoContiguidade Física
12:18
 Implementação não constitui uma boa
representação física de árvores
 Dificuldade de seguir a hierarquia implícita
nestas estruturas ao manipular a árvore
 Inserção e Remoção demorada
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoreTernáriaUsandoContiguidadeFísica
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
A B C D ʎ E ʎ ʎ ʎ ʎ F G ...
1 2 3 4 5 6 7 8 9 10 11 12 13
ÁrvoresImplementadasporEncadeamento
12:18
 O acesso se dá sempre pela raiz
 Os demais nós são alcançados somente pelos endereços dos elos
 A hierarquia de subordinação, implícita nas árvores, fica
perfeitamente representada.
 Todos os nós da árvore deve apresentar a mesma estrutura.
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresImplementadasporEncadeamento
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
A
B / / C / / / D /
E / / / F / / / G / / /
Vantagensda Implementaçãopor Encadeamento
12:18
 É bastante Intuitiva
 Inserção e Remoção são simples, constituindo
basicamente na atualização de endereços nos
campos de elo de alguns nós.
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Desvantagensda ImplementaçãoporEncadeamento
12:18
 Árvores cujos nós têm grau variado apresentam
geralmente muitos campos de elo ociosos
 O Acesso aos nós pode ser dificultado devido à
necessidade de acessar qualquer nós sempre
através da raiz.
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Concluindo ...
12:18 87
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Exercício1
12:18
 Considere a árvore com representação aninhada
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
( A ( B ) ( C ( F ( H ) ( I ) )) ( D) ( E ( G ) ) )
Exercício2
12:18
 Quantas subárvores esta árvore contém?
 Quais os nós-folha?
 Qual o grau de cada nó?
 Qual o grau da árvore?
 Liste os ancestrais dos nós B, G e I.
 Liste os nós de quem C é ancestral próprio.
 Liste os nós de quem D é descendente próprio.
 Dê o nível e a altura do nó F e A.
 Qual a altura da árvore?
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Nestaaulaaprendemos...
 Árvores
# Conceito
# Componentes
# Tipos de árvores
# Onde são utilizadas?
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Material:https://sites.google.com/site/leinylsonnassau
12:18
Material baseado nas aulas de:
 Árvores,Cristiano PiresMartins
 Árvoresbinárias,Paulo Feofiloff
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Napróximaaulaveremos...
 Técnicas de Pesquisa e Ordenação
# Conceitos
# Algoritmos
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
AlgumaDúvida?
12:18
Até a próxima aula...
leinylson@gmail.com
Prática 
12:18 94
As aulas práticas foram baseadas no material de
LinguagemC Descomplicada , Dr. André R.Backes.
Disponívelem: https://programacaodescomplicada.wordpress.com/
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
12:18 95
Árvore Binária
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoreBinária:Implementação
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
 Em uma ÁrvoreBináriapodemos realizar as seguintes operações
 Criação da árvore
 Inserção de um elemento
 Remoção de um elemento
 Acesso a um elemento
 Destruição da árvore
 Essas operações dependem do tipo de alocação de memória usada
 Estática (heap)
 Dinâmica (lista encadeada)
ÁrvoreBinária:AlocaçãoEstática
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
 Uso de um array
 Usa duas funções para retornar a posição dos filhos à esquerda e à
direita de um pai
ÁrvoreBinária:AlocaçãoDinâmica
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
 Cada nó da árvore é tratado como um ponteiro alocado dinamicamente
a medida que os dados são inseridos
ÁrvoreBinária:AlocaçãoDinâmica
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
 Para guardar o primeiro nó da árvore utilizamos um ponteiro para
ponteiro.Assim, fica fácil mudar quem é a raízda árvore (se necessário)
ÁrvoreBinária
12:18
 ArvoreBinaria.h
 Os protótipos das funções
 O tipo de dado armazenado na árvore
 O ponteiro árvore
 ArvoreBinaria.c
 O tipo de dados árvore
 Implementar as suas funções
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
12:18 101
Definindo a Árvore
Binária
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Definindoa ÁrvoreBinária
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
12:18 103
Criando a Árvore
Binária
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Criandoa ÁrvoreBinária
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
12:18 105
Destruindo a Árvore
Binária
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Destruindoa ÁrvoreBinária
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Destruindoa ÁrvoreBinária
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
12:18 108
Árvore Vazia?
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Árvore Vazia?
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
12:18 110
Altura da Árvore
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Altura da Árvore
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Altura da Árvore
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
12:18 113
Número de nós
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Número de nós
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
Número de nós
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
12:18 116
Árvores Balanceadas
Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresBalanceadas
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
ÁrvoresBalanceadas
12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)

Mais conteúdo relacionado

Mais procurados

Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlex Camargo
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoLeinylson Fontinele
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoLeinylson Fontinele
 
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Leinylson Fontinele
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução BásicaChristian Perone
 
BD I - Aula 08 B - Algebra Relacional - Exercicios Resolucao
BD I - Aula 08 B - Algebra Relacional - Exercicios ResolucaoBD I - Aula 08 B - Algebra Relacional - Exercicios Resolucao
BD I - Aula 08 B - Algebra Relacional - Exercicios ResolucaoRodrigo Kiyoshi Saito
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoLeinylson Fontinele
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasAdriano Teixeira de Souza
 
Fundamentos de sistemas de informação
Fundamentos de sistemas de informaçãoFundamentos de sistemas de informação
Fundamentos de sistemas de informaçãoLeonardo Melo Santos
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintóticaPablo Silva
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1engenhariadecomputacao
 
Estrutura de Dados Aula 07 - Alocação dinâmica de memória
Estrutura de Dados Aula 07 - Alocação dinâmica de memóriaEstrutura de Dados Aula 07 - Alocação dinâmica de memória
Estrutura de Dados Aula 07 - Alocação dinâmica de memóriaLeinylson Fontinele
 
Sistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - ApresentaçãoSistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - ApresentaçãoLeinylson Fontinele
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Alexandre Duarte
 
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com JavaExercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com JavaLoiane Groner
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)Janynne Gomes
 
Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de DadosRoberto Grande
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 

Mais procurados (20)

Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: Matrizes
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - Apresentação
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
 
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
 
BD I - Aula 08 B - Algebra Relacional - Exercicios Resolucao
BD I - Aula 08 B - Algebra Relacional - Exercicios ResolucaoBD I - Aula 08 B - Algebra Relacional - Exercicios Resolucao
BD I - Aula 08 B - Algebra Relacional - Exercicios Resolucao
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores Binárias
 
Fundamentos de sistemas de informação
Fundamentos de sistemas de informaçãoFundamentos de sistemas de informação
Fundamentos de sistemas de informação
 
Sistemas Operacionais e Mercado de Trabalho
Sistemas Operacionais e Mercado de TrabalhoSistemas Operacionais e Mercado de Trabalho
Sistemas Operacionais e Mercado de Trabalho
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintótica
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Estrutura de Dados Aula 07 - Alocação dinâmica de memória
Estrutura de Dados Aula 07 - Alocação dinâmica de memóriaEstrutura de Dados Aula 07 - Alocação dinâmica de memória
Estrutura de Dados Aula 07 - Alocação dinâmica de memória
 
Sistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - ApresentaçãoSistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - Apresentação
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01
 
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com JavaExercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
 
Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de Dados
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 

Destaque

Estrutura de Dados Aula 14 - Técnicas de Pesquisa e Ordenação (conceitos e al...
Estrutura de Dados Aula 14 - Técnicas de Pesquisa e Ordenação (conceitos e al...Estrutura de Dados Aula 14 - Técnicas de Pesquisa e Ordenação (conceitos e al...
Estrutura de Dados Aula 14 - Técnicas de Pesquisa e Ordenação (conceitos e al...Leinylson Fontinele
 
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Leinylson Fontinele
 
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Leinylson Fontinele
 
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)Leinylson Fontinele
 
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados  - Aula 12 - Listas Duplamente EncadeadasEstrutura de Dados  - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados - Aula 12 - Listas Duplamente EncadeadasLeinylson Fontinele
 
Banco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosBanco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosLeinylson Fontinele
 
Estrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaEstrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaLeinylson Fontinele
 
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Leinylson Fontinele
 
Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor
Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó DescritorEstrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor
Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó DescritorLeinylson Fontinele
 
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)Leinylson Fontinele
 
Árvores Plantadas - do plantio ao consumidor final // Planted Trees - from pl...
Árvores Plantadas - do plantio ao consumidor final // Planted Trees - from pl...Árvores Plantadas - do plantio ao consumidor final // Planted Trees - from pl...
Árvores Plantadas - do plantio ao consumidor final // Planted Trees - from pl...Ibá – Indústria Brasileira de Árvores
 
09.materias perigosas
09.materias perigosas09.materias perigosas
09.materias perigosasSérgio Manha
 
Este planeta Terra é um paraíso!
Este planeta Terra é um paraíso!Este planeta Terra é um paraíso!
Este planeta Terra é um paraíso!João Couto
 
Slaid rotinas administrativas
Slaid rotinas administrativasSlaid rotinas administrativas
Slaid rotinas administrativasmarcelo borges
 
Direitos sociais e Administração Pública: a compatibilização da teoria da res...
Direitos sociais e Administração Pública: a compatibilização da teoria da res...Direitos sociais e Administração Pública: a compatibilização da teoria da res...
Direitos sociais e Administração Pública: a compatibilização da teoria da res...André Nakamura
 
Cantagalo 200 anos - Marca Comemorativa
Cantagalo 200 anos - Marca ComemorativaCantagalo 200 anos - Marca Comemorativa
Cantagalo 200 anos - Marca ComemorativaGustavo Huguenin
 

Destaque (20)

Estrutura de Dados Aula 14 - Técnicas de Pesquisa e Ordenação (conceitos e al...
Estrutura de Dados Aula 14 - Técnicas de Pesquisa e Ordenação (conceitos e al...Estrutura de Dados Aula 14 - Técnicas de Pesquisa e Ordenação (conceitos e al...
Estrutura de Dados Aula 14 - Técnicas de Pesquisa e Ordenação (conceitos e al...
 
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
 
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
 
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
 
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados  - Aula 12 - Listas Duplamente EncadeadasEstrutura de Dados  - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
 
Banco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosBanco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de Dados
 
Estrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaEstrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na prática
 
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
 
Aula Bônus
Aula BônusAula Bônus
Aula Bônus
 
Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor
Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó DescritorEstrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor
Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor
 
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
 
Estrutura de Dados - Grafos
Estrutura de Dados - GrafosEstrutura de Dados - Grafos
Estrutura de Dados - Grafos
 
Árvores Plantadas - do plantio ao consumidor final // Planted Trees - from pl...
Árvores Plantadas - do plantio ao consumidor final // Planted Trees - from pl...Árvores Plantadas - do plantio ao consumidor final // Planted Trees - from pl...
Árvores Plantadas - do plantio ao consumidor final // Planted Trees - from pl...
 
09.materias perigosas
09.materias perigosas09.materias perigosas
09.materias perigosas
 
Este planeta Terra é um paraíso!
Este planeta Terra é um paraíso!Este planeta Terra é um paraíso!
Este planeta Terra é um paraíso!
 
Axel t
Axel tAxel t
Axel t
 
Slaid rotinas administrativas
Slaid rotinas administrativasSlaid rotinas administrativas
Slaid rotinas administrativas
 
Direitos sociais e Administração Pública: a compatibilização da teoria da res...
Direitos sociais e Administração Pública: a compatibilização da teoria da res...Direitos sociais e Administração Pública: a compatibilização da teoria da res...
Direitos sociais e Administração Pública: a compatibilização da teoria da res...
 
Cantagalo 200 anos - Marca Comemorativa
Cantagalo 200 anos - Marca ComemorativaCantagalo 200 anos - Marca Comemorativa
Cantagalo 200 anos - Marca Comemorativa
 
Teoría de fayol
Teoría de fayolTeoría de fayol
Teoría de fayol
 

Mais de Leinylson Fontinele

Utilização do editor de texto Word
Utilização do editor de texto WordUtilização do editor de texto Word
Utilização do editor de texto WordLeinylson Fontinele
 
Aula 05 - Importância do teste, auditoria e monitoramento
Aula 05 - Importância do teste, auditoria e monitoramentoAula 05 - Importância do teste, auditoria e monitoramento
Aula 05 - Importância do teste, auditoria e monitoramentoLeinylson Fontinele
 
Aula 04 - Implementação efetiva da política de segurança
Aula 04 - Implementação efetiva da política de segurançaAula 04 - Implementação efetiva da política de segurança
Aula 04 - Implementação efetiva da política de segurançaLeinylson Fontinele
 
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...Leinylson Fontinele
 
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...Leinylson Fontinele
 
Aula 01 - Fundamentos da segurança dos sistemas de informações
Aula 01 - Fundamentos da segurança dos sistemas de informaçõesAula 01 - Fundamentos da segurança dos sistemas de informações
Aula 01 - Fundamentos da segurança dos sistemas de informaçõesLeinylson Fontinele
 
A história da Segurança da Informação
A história da Segurança da InformaçãoA história da Segurança da Informação
A história da Segurança da InformaçãoLeinylson Fontinele
 
Introdução ao Prolog - Prof. Sérgio S. Costa
Introdução ao Prolog - Prof. Sérgio S. CostaIntrodução ao Prolog - Prof. Sérgio S. Costa
Introdução ao Prolog - Prof. Sérgio S. CostaLeinylson Fontinele
 
Aula 02 - Agentes e problemas de busca
Aula 02 - Agentes e problemas de buscaAula 02 - Agentes e problemas de busca
Aula 02 - Agentes e problemas de buscaLeinylson Fontinele
 

Mais de Leinylson Fontinele (20)

Utilização do editor de texto Word
Utilização do editor de texto WordUtilização do editor de texto Word
Utilização do editor de texto Word
 
Prática com slide.pptx
Prática com slide.pptxPrática com slide.pptx
Prática com slide.pptx
 
A galinha carijó
A galinha carijóA galinha carijó
A galinha carijó
 
Descrição do Projeto 8 puzzle
Descrição do Projeto 8 puzzleDescrição do Projeto 8 puzzle
Descrição do Projeto 8 puzzle
 
Aula 05 - Importância do teste, auditoria e monitoramento
Aula 05 - Importância do teste, auditoria e monitoramentoAula 05 - Importância do teste, auditoria e monitoramento
Aula 05 - Importância do teste, auditoria e monitoramento
 
Aula 04 - Implementação efetiva da política de segurança
Aula 04 - Implementação efetiva da política de segurançaAula 04 - Implementação efetiva da política de segurança
Aula 04 - Implementação efetiva da política de segurança
 
Aula 02 - Agentes Inteligentes
Aula 02 - Agentes InteligentesAula 02 - Agentes Inteligentes
Aula 02 - Agentes Inteligentes
 
Aula 01 - Visão Geral da IA
Aula 01 - Visão Geral da IAAula 01 - Visão Geral da IA
Aula 01 - Visão Geral da IA
 
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...
 
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...
 
Aula 01 - Fundamentos da segurança dos sistemas de informações
Aula 01 - Fundamentos da segurança dos sistemas de informaçõesAula 01 - Fundamentos da segurança dos sistemas de informações
Aula 01 - Fundamentos da segurança dos sistemas de informações
 
A história da Segurança da Informação
A história da Segurança da InformaçãoA história da Segurança da Informação
A história da Segurança da Informação
 
Introdução ao Prolog - Prof. Sérgio S. Costa
Introdução ao Prolog - Prof. Sérgio S. CostaIntrodução ao Prolog - Prof. Sérgio S. Costa
Introdução ao Prolog - Prof. Sérgio S. Costa
 
Caso 1 - Boing 777
Caso 1 - Boing 777Caso 1 - Boing 777
Caso 1 - Boing 777
 
Caso 2 - Aeroporto de Denver
Caso 2 - Aeroporto de DenverCaso 2 - Aeroporto de Denver
Caso 2 - Aeroporto de Denver
 
Aula 02 - Agentes e problemas de busca
Aula 02 - Agentes e problemas de buscaAula 02 - Agentes e problemas de busca
Aula 02 - Agentes e problemas de busca
 
Aula 01 - Visão geral da IA
Aula 01 - Visão geral da IAAula 01 - Visão geral da IA
Aula 01 - Visão geral da IA
 
Aula 7 - Modelagem de Software
Aula 7 - Modelagem de SoftwareAula 7 - Modelagem de Software
Aula 7 - Modelagem de Software
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 
Aula 07 - Diagrama de sequencia
Aula 07 - Diagrama de sequenciaAula 07 - Diagrama de sequencia
Aula 07 - Diagrama de sequencia
 

Último

LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...ArianeLima50
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasillucasp132400
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?Rosalina Simão Nunes
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 

Último (20)

LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasil
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 

Árvores de Dados: Conceitos, Elementos, Tipos e Usos

  • 1. # Estrutura de Dados # Aula 13 – Árvores conceito, elementos, tipos e utilizações Prof. Leinylson Fontinele Pereira
  • 2. Naaulaanterior...  Listas Duplamente Encadeadas # Propriedades # Operações fundamentais 12:17 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 3. Introdução 12:17 3 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 4. O que vamosaprender?  Árvores # Conceito # Componentes # Tipos de árvores # Onde são utilizadas? 12:17 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 5. Vamos começar? 12:17 5 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 6. 12:17 O que é uma Árvore? Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 7. 12:18 Algumas Árvores...  Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 8. O queé uma Árvore? 12:18  São um tipo especial de grafo  Qualquer par de vértices (nós) está conectado a apenas uma aresta  Grafo conexo (todos estão conectados)  Acíclico (não possui ciclos) Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 9. Formasde Representação 12:18 Grafo Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações) Diagrama de Venn
  • 10. O queé uma Árvore? 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 11. Árvores 12:18  As árvores são uma das estrutura de dados mais importantes da área da computação  Utilizada em muitas aplicações do mundo real  Os relacionamentos lógicos entre os dados representam alguma dependência de hierarquia ou composição entre os nodos; Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 12. Árvores:ConceitosBásicos 12:18 As linhas que unem 2 nodos representam os relacionamentos lógicos e as dependências de subordinação existentes entre eles Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 13. Árvores:ConceitosBásicos 12:18 Relacionamentos de subordinação, formando hierarquias, podem apresentar diferentes significados Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 14. Hierarquiade Especialização 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 15. Hierarquiade Composição 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 16. Hierarquiade Dependência 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 17. RepresentaçãoGráficade umaÁrvore 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 18. Terminologia 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)  A terminologia não é padronizada;  Existem nomes diferentes para os mesmos conceitos em diferentes publicações.
  • 19. Terminologia 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)  Raiz (root)  Todos os outros nós da árvore são subordinados a ele  O acesso a todos os nós é sempre a partir dele  Nós descendentes:  Relação de dependência com o nó mais acima
  • 20. Terminologia 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)  Caso o número de nós seja diferente de zero, existe sempre uma raiz;  Caso o número de nós seja zero, é denominada vazia.
  • 21. Terminologia 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 22. Terminologia 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)  Subárvore  Conjunto de nós subordinados a um único nó, externo a esta subárvore
  • 23. Terminologia 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)  Grau de Um Nó  Número de subárvores que são subordinadas diretamente a esse nó.  Grau de uma Árvore  É o maior valor dentre os graus de todos os seus nós.
  • 24. Terminologia 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 25. Terminologia 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)  Folha ou Terminal (externo)  São os nós de grau zero  Nó de derivação (interno)  Nós de grau maior do que zero e que apresentam uma subárvore
  • 26. Terminologia 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 27. Terminologia 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)  Nível de um Nó  Número de ligações entre este nó e a raiz da árvore mais um  Caminho  Sequência de nós consecutivos distintos entre dois nós  Comprimento do Caminho  Número de níveis entre os dois nós menos um
  • 28. Terminologia 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 29. Terminologia 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)  Altura ou Profundidade  É o número de nós do maior caminho deste nó até um de seus descendentes-folha  A altura de uma árvore é igual ao maior nível de seus nós  Todos os nós folha tem altura 1.
  • 30. Terminologia 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)  Floresta  Conjunto de zero ou mais árvores disjuntas  Árvore ordenada  Quando a ordem de suas subárvores é relevante para a aplicação que está sendo representada através desta estrutura de dados.
  • 31. Terminologia 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 32. ÁrvoreBinária (BinaryTree) 12:18  Quando apresentar no máximo grau 2 em cada nó Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 33. ÁrvoreBinária (BinaryTree) 12:18  O grau de cada nó pode ser 0, 1 ou 2 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 34. ÁrvoreEstritamenteBinária 12:18  Cada nó possui 0 ou 2 subárvores Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 35. ÁrvoreBinária (BinaryTree) 12:18  Quando apresentar no máximo grau 2 em cada nó Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 36. ÁrvoreBinária:Varreduraesquerda‐raiz‐direita 12:18  Conhecida como inorder traversal, ou varredura central, ou varredura infixa.  Na varredura e‐r‐d visitamos 1. A subárvore esquerdada raiz, em ordem e‐r‐d 2. A raiz 3. Finalmente a subárvore direita da raiz, em ordem e‐r‐d Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 37. ÁrvoreBinária:Varreduraesquerda‐raiz‐direita 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 38. ÁrvoreBinária:Varreduraesquerda‐raiz‐direita 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 39. ÁrvoreBinária:Varreduraraiz‐esquerda‐direita 12:18  Conhecida como preorder traversal, ou varredura em pré‐ordem, ou varredura prefixa.  Na varredura r‐e‐d visitamos 1. Visita a raiz 2. Percorre a subárvore esquerda em pré-ordem 3. Percorre a subárvore direita em pré-ordem Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 40. ÁrvoreBinária:Varreduraesquerda‐direita‐raiz 12:18  Conhecida como postorder traversal, ou varredura em pós‐ordem, ou varredura posfixa.  Na varredura e‐d‐r visitamos 1. Percorre a subárvore esquerda em pós-ordem 2. Percorre a subárvore direitaem pós-ordem 3. Visita a raiz Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 41. ÁrvoreBinária:Tiposde Varreduras 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 42. ÁrvoreBinária:ContagemdosNós 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 43. ÁrvoresBináriasde Busca 12:18 Considere uma árvore binária cujos nós têm um campo chave de um tipo linearmente ordenado, ou seja, de um tipo (como números, caracteres, e strings) que admite comparações. Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 44. ÁrvoresBináriasde Busca 12:18  Uma árvore binária é de busca (em relação ao campo chave) se cada nó X tem a seguinte propriedade:  A chave de X é maior ou igual à chave de qualquer nó na subárvore esquerda de X e menor ou igual à chave de qualquer nó na subárvore direita de X.  Em outras palavras, se x é um nó qualquer então y->chave ≤ x->chave ≤ z->chave para todo nó y na subárvore esquerda de x e todo nó z na subárvore direita de x. Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 45. ÁrvoresBináriasde Busca 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 46. ÁrvoresBináriasde Busca:versão recursiva 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 47. ÁrvoresBináriasde Busca:versãoiterativa 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 48. ÁrvoresBináriasde Busca:versãoiterativa 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)  No pior caso, a busca consome tempo proporcional à altura da árvore. Se a árvore for balanceada, o consumo será proporcional a log n , sendo n o número de nós.  Esse tempo é da mesma ordem que a busca binária num vetor ordenado.
  • 49. ÁrvoresBináriasde Busca:Inserção 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações) Considere o seguinte problema: Inserir um novo nó, com chave k, em uma árvore de busca. É claro que a árvore resultante deve também ser de busca. O novo nó tem a forma de uma folha avulsa e pode ser criado assim:
  • 50. ÁrvoresBináriasde Busca:Inserção 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 51. ÁrvoresBináriasde Busca:Remoção 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações) Problema: Remover um nó de uma árvore de busca de tal forma que a árvore continue sendo de busca. Comecemos tratando do caso em que o nó a ser removido é a raiz da árvore. Se a raiz não tem um dos filhos, basta que o outro filho assuma o papel de raiz. Senão, faça com que o nó anterior à raiz na ordem e-r-d assuma o papel de raiz.
  • 52. ÁrvoresBináriasde Busca:Remoção 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 53. ÁrvoresBináriasde Busca:Remoção 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 54. ÁrvoresBináriasde Busca:Remoção 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)  A exclusão de um nó é um processo mais complexo. Para excluir um nó de uma árvore binária de busca, há de se considerar três casos distintos para a exclusão:
  • 55. ÁrvoresBináriasde Busca:Remoção 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)  Exclusão na folha  A exclusão na folha é a mais simples, basta removê-lo da árvore.
  • 56. ÁrvoresBináriasde Busca:Remoção 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)  Exclusão de um nó com um filho  Excluindo-o, o filho sobe para a posição do pai.
  • 57. ÁrvoresBináriasde Busca:Remoção 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)  Exclusão de um nó com dois filhos  Neste caso, pode-se operar de duas maneiras diferentes. Pode-se substituir o valor do nó a ser retirado pelo valor sucessor (o nó mais à esquerda da subárvore direita)  Ou pelo valor antecessor (o nó mais à direita da subárvore esquerda), removendo-se aí o nó sucessor (ou antecessor).
  • 58. ÁrvoresBináriasde Busca:Remoção 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 59. Árvore 𝑛-ária 12:18  Quando apresentar no máximo grau 𝑛 em cada nó Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 60. ÁrvoreIsomorfa 12:18  Quando é possível que se tornem coincidentes através de uma permutação na ordem das subárvores de seus nós Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 61. ÁrvoresBalanceadas(Equilibrada) 12:18  É aquela na qual existe uma distribuição equilibrada entre os nós da árvore  Existe uma diferença mínima entre todas as folhas e a raiz. Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 62. ÁrvoresCheiaou CompletamenteBalanceada 12:18  É aquela em que todas as folhas estão a uma distância igual da raiz. Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 63. ÁrvoreBináriaQuaseCompleta 12:18  A diferença de altura entre as subárvores de qualquer nó é no máximo 1. Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 64. ÁrvoresAVL 12:18  Árvore balanceada pela altura  As alturas das duas subárvores a partir de cada nó diferem no máximo em uma unidade  As operações de busca, inserção e remoção de elementos possuem complexidade O(log n) Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 65. ÁrvoresAVL 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 66. ÁrvoresAVL:Rotação 12:18  Uma rotação simples ocorre quando um nó está desbalanceado e seu filho estiver no mesmo sentido da inclinação, formando uma linha reta.  Uma rotação-dupla ocorre quando um nó estiver desbalanceado e seu filho estiver inclinado no sentido inverso ao pai, formando um “joelho”. Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 67. ÁrvoresAVL:Rotação 12:18  Para garantirmos as propriedades da árvore AVL rotações devem ser feitas conforme necessário após operações de remoção ou inserção.  Seja P o nó pai, FE o filho da esquerda de P e FD o filho da direita de P podemos definir 4 tipos diferentes de rotação: Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 68. ÁrvoresAVL:Rotaçãoà Direita 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 69. ÁrvoresAVL:Rotaçãoà Esquerda 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 70. ÁrvoresAVL: RotaçãoDuplaà Direita 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 71. ÁrvoresAVL: RotaçãoDuplaà Esquerda 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 72. ÁrvoreRubroNegra 12:18  Nas árvores rubro-negras, os nós folhas não são relevantes e não contém dados.  Estas folhas não precisam ser mantidas em memória de computador, basta apenas um ponteiro para nulo para identificá-las. Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 73. ÁrvoreRubroNegra 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 74. ÁrvoreRubroNegra 12:18  Um nó é vermelho ou preto.  A raiz é preta.  Todas as folhas(nil) são pretas.  Ambos os filhos de todos os nós vermelhos são pretos.  Todo caminho de um dado nó para qualquer de seus nós folhas descendentes contem o mesmo número de nós pretos. Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 75. OperaçõesBásicas 12:18  Criação de uma árvore  Alocação das variáveis necessárias para a definição da árvore  As demais operações são habilitadas depois disso  Inserção de um novo nó  Como raiz  Como folha  Como uma posição intermediária Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 76. OperaçõesBásicas 12:18  Exclusão de um Nó  Quando não se realiza sobre uma folha, precisa reorganizar a árvore  Acesso a um Nó  Destruição de uma árvore Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 77. OperaçõesBásicas 12:18  Pai  Dado um determinado nó, retorna o endereço do nó imediatamente superior  Tamanho  Retorna o número total de nós de uma árvore  Altura  Retorna a altura da árvore Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 78. ÁrvoresUsando ContiguidadeFísica 12:18 Não é intuitiva como era no caso das Listas Lineares Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 79. ÁrvoresUsando ContiguidadeFísica 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações) A(3) B(1) C(0) D(4) E(0) F(0) G(0) H(0) I(0) A(3) B(1) E(0) C(0) D(4) F(0) G(0) H(0) I(0) 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
  • 80. VantagensUsandoContiguidadeFísica 12:18  Eficiente em termos de espaço, principalmente quando o grau não varia muito  Implementação é mais simples se existir limitação do número de descendentes. Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 81. DesvantagensUsandoContiguidade Física 12:18  Implementação não constitui uma boa representação física de árvores  Dificuldade de seguir a hierarquia implícita nestas estruturas ao manipular a árvore  Inserção e Remoção demorada Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 82. ÁrvoreTernáriaUsandoContiguidadeFísica 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações) A B C D ʎ E ʎ ʎ ʎ ʎ F G ... 1 2 3 4 5 6 7 8 9 10 11 12 13
  • 83. ÁrvoresImplementadasporEncadeamento 12:18  O acesso se dá sempre pela raiz  Os demais nós são alcançados somente pelos endereços dos elos  A hierarquia de subordinação, implícita nas árvores, fica perfeitamente representada.  Todos os nós da árvore deve apresentar a mesma estrutura. Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 84. ÁrvoresImplementadasporEncadeamento 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações) A B / / C / / / D / E / / / F / / / G / / /
  • 85. Vantagensda Implementaçãopor Encadeamento 12:18  É bastante Intuitiva  Inserção e Remoção são simples, constituindo basicamente na atualização de endereços nos campos de elo de alguns nós. Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 86. Desvantagensda ImplementaçãoporEncadeamento 12:18  Árvores cujos nós têm grau variado apresentam geralmente muitos campos de elo ociosos  O Acesso aos nós pode ser dificultado devido à necessidade de acessar qualquer nós sempre através da raiz. Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 87. Concluindo ... 12:18 87 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 88. Exercício1 12:18  Considere a árvore com representação aninhada Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações) ( A ( B ) ( C ( F ( H ) ( I ) )) ( D) ( E ( G ) ) )
  • 89. Exercício2 12:18  Quantas subárvores esta árvore contém?  Quais os nós-folha?  Qual o grau de cada nó?  Qual o grau da árvore?  Liste os ancestrais dos nós B, G e I.  Liste os nós de quem C é ancestral próprio.  Liste os nós de quem D é descendente próprio.  Dê o nível e a altura do nó F e A.  Qual a altura da árvore? Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 90. Nestaaulaaprendemos...  Árvores # Conceito # Componentes # Tipos de árvores # Onde são utilizadas? 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 91. Material:https://sites.google.com/site/leinylsonnassau 12:18 Material baseado nas aulas de:  Árvores,Cristiano PiresMartins  Árvoresbinárias,Paulo Feofiloff Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 92. Napróximaaulaveremos...  Técnicas de Pesquisa e Ordenação # Conceitos # Algoritmos 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 93. AlgumaDúvida? 12:18 Até a próxima aula... leinylson@gmail.com
  • 94. Prática  12:18 94 As aulas práticas foram baseadas no material de LinguagemC Descomplicada , Dr. André R.Backes. Disponívelem: https://programacaodescomplicada.wordpress.com/ Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 95. 12:18 95 Árvore Binária Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 96. ÁrvoreBinária:Implementação 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)  Em uma ÁrvoreBináriapodemos realizar as seguintes operações  Criação da árvore  Inserção de um elemento  Remoção de um elemento  Acesso a um elemento  Destruição da árvore  Essas operações dependem do tipo de alocação de memória usada  Estática (heap)  Dinâmica (lista encadeada)
  • 97. ÁrvoreBinária:AlocaçãoEstática 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)  Uso de um array  Usa duas funções para retornar a posição dos filhos à esquerda e à direita de um pai
  • 98. ÁrvoreBinária:AlocaçãoDinâmica 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)  Cada nó da árvore é tratado como um ponteiro alocado dinamicamente a medida que os dados são inseridos
  • 99. ÁrvoreBinária:AlocaçãoDinâmica 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)  Para guardar o primeiro nó da árvore utilizamos um ponteiro para ponteiro.Assim, fica fácil mudar quem é a raízda árvore (se necessário)
  • 100. ÁrvoreBinária 12:18  ArvoreBinaria.h  Os protótipos das funções  O tipo de dado armazenado na árvore  O ponteiro árvore  ArvoreBinaria.c  O tipo de dados árvore  Implementar as suas funções Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 101. 12:18 101 Definindo a Árvore Binária Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 102. Definindoa ÁrvoreBinária 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 103. 12:18 103 Criando a Árvore Binária Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 104. Criandoa ÁrvoreBinária 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 105. 12:18 105 Destruindo a Árvore Binária Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 106. Destruindoa ÁrvoreBinária 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 107. Destruindoa ÁrvoreBinária 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 108. 12:18 108 Árvore Vazia? Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 109. Árvore Vazia? 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 110. 12:18 110 Altura da Árvore Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 111. Altura da Árvore 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 112. Altura da Árvore 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 113. 12:18 113 Número de nós Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 114. Número de nós 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 115. Número de nós 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 116. 12:18 116 Árvores Balanceadas Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 117. ÁrvoresBalanceadas 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)
  • 118. ÁrvoresBalanceadas 12:18 Estrutura de Dados: Aula 13 – Árvores (conceito, elementos, tipos e utilizações)