SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
Árvores
Cristiano Pires Martins
O jardineiro é jizus e as
árveres somos nozes
Introdução
• 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;
• Exite uma hierarquia de subordinação.
Conceitos Básicos
• As linhas que unem 2 nodos
representam os relacionamentos
lógicos e as dependências de
subordinação existentes entre
eles;
• A se relaciona somente com B, C
e D e não com os demais;
• B se relaciona somente com A e
E.
A
GFE
DCB
H
I J
Conceitos Básicos
• Relacionamentos de
subordinação, formando
hierarquias, podem apresentar
diferentes significados:
• Hierarquias de especialização:
representa classes e subclasses;
• Hierarquias de composição: o
nodo é composto por partes;
• Hierarquias de dependência:
representa um organograma.
Hierarquia de Especialização
Veículo
MotoCarroHelicópteroAvião
Aéreo Terrestre Aquático
Motor Vela Remo
Navio Iate Lancha
Hierarquia de Composição
Carro
Chassis Motor Rodas
Hierarquia de Dependência
Diretor
Superintendente
Diretor
Administrativo
Diretor Fábrica
Diretor
Comercial
Departamento
Cont. Qualidade
Departamento
Manutenção
Departamento
Produção
A
GFE
DCB
H
I J
Representação Gráfica de uma Árvore
Terminologia
• A terminologia não é padronizada;
• Existem nomes diferentes para os mesmos
conceitos em diferentes publicações.
Terminologia
• Raiz:
• 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.
Raiz
Nós descendentes
Terminologia
• Subárvore:
• Conjunto de nós, sendo todos subordinados a um único nó,
externo a esta subárvore.
Subárvores
Terminologia
• 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.
Grau de um Nó
Terminologia
• 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.
Folha
Nó de Derivação
Terminologia
• 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.
Caminho
Nível 1
Nível 2
Nível 3
Nível 4
Comprimento = 3
Terminologia
• 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
• 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
Floresta Árvores Ordenadas
CB
A
BC
A
≠
Terminologia
• Árvore binária: quando apresentar no
máximo grau 2 em cada nó;
• Árvore n-ária: quando apresentar no
máximo grau n em cada nó.
Terminologia
• Árvores isomorfas: quando é possível que se tornem
coincidentes através de uma permutação na ordem
das subárvores de seus nós.
• Árvores balanceadas: é aquela na qual existe uma
distribuição equilibrada entre os nós da árvore, ou
seja, existe uma diferença mínima entre todas as
folhas e a raiz.
• Uma árvore cheia ou completamente balanceada é
aquela em que todas as folhas estão a uma distância
igual da raiz.
Terminologia
• 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.
Operações Básicas
• 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.
Operações Básicas
• 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.
Outras Operações
• 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.
Árvores Usando
Contiguidade Física
• Não é intuitiva como era no caso das Listas
Lineares;
A
E
DCB
GF IH
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
Implementações
A
E
DCB
GF IH
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
Por Níveis
Por Profundidade
Desvantagens Usando Contiguidade
Física
• 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;
Vantagens Usando Contiguidade
Física
• É eficiente em termos de espaço
ocupado, principalmente quando o grau
não varia muito;
• Implementação é mais simples se existir
limitação do número de descendentes.
Árvore Ternária Usando
Contiguidade Física
A
E
DCB
F G
A B C D λ E λ λ λ λ λ F G ...
1 2 3 4 5 6 7 8 9 10 11 12 13
Árvores Implementadas
por Encadeamento
• 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.
Árvore Implementada Através
de Encadeamento
A
E
DCB
F G
A
C / / /B / / D /
F / / /E / / / G / / /
Vantagens da Implementação por
Encadeamento
• É 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.
Desvantagens da Implementação
por Encadeamento
• Á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.
Exercício
• Considere a árvore com representação aninhada a
seguir:
( A ( B ) ( C ( F ( H ) ( I ) )) ( D) ( E ( G ) ) )
• Represente a mesma árvore através de:
• Diagrama de Inclusão;
• Diagrama de barras;
• Numeração por níveis;
• Monte a árvore na grafia convencional.
A
ECB
F G
D
IH
Exercício
• Represente a mesma árvore através de:
• Diagrama de Inclusão;
• Diagrama de barras;
• Numeração por níveis;
• Representação aninhada.
A
ECB
F G
D
IH
Exercício
• Para a árvore ao lado, responda às
perguntas a seguir:
• 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?
A
ECB
F G
D
IH
Resposta
• Quantas subárvores esta árvore contém? 4
• Quais os nós-folha? B, D, G, H e I
• Qual o grau de cada nó?
• A=4,B=0,C=1,D=0,E=1,F=2,G=0,H=0 e I=0
• Qual o grau da árvore? 4
• Liste os ancestrais dos nós B, G e I.
• B=A; G=A e E; I=A, C e F
• Liste os nós de quem F é ancestral próprio. H e I
• Liste o nó de quem D é descendente próprio. A
• Dê o nível e a altura do nó F e A.
• F: Nível 3 e Altura 2 A: Nível 1 e Altura 4
• Qual a altura da árvore? 4 (maior caminho)
A
ECB
F G
D
IH
A
ECB
G I
D
ML O
RQ
F
KJ
P
TS
H
N
Exercício
Para a árvore ao lado, responda às perguntas a seguir:
• Quantas subárvores o nó G contém?
• Quais os nós-folha?
• Qual o grau de cada nó?
• Qual o grau da árvore?
• Liste os ancestrais dos nós L, Q e U.
• Liste os nós de quem P é ancestral próprio.
• Liste os nós de quem G é descendente próprio.
• Dê o nível e a altura do nó J, G, S, O e A.
• Qual a altura da árvore?
U

Mais conteúdo relacionado

Mais procurados

Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Leinylson Fontinele
 
Curso HTML, CSS e JavaScript
Curso HTML, CSS e JavaScriptCurso HTML, CSS e JavaScript
Curso HTML, CSS e JavaScriptPablo Sanches
 
Banco de Dados - Transações e Controle de Concorrência
Banco de Dados - Transações e Controle de ConcorrênciaBanco de Dados - Transações e Controle de Concorrência
Banco de Dados - Transações e Controle de ConcorrênciaJuliano Padilha
 
Sistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dadosSistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dadosJuh Souza
 
Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dadosFernando Palma
 
Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesaPacc UAB
 
Variaveis locais e globais
Variaveis locais e globaisVariaveis locais e globais
Variaveis locais e globais111111119
 
Exercicios de Algoritimos
 Exercicios de Algoritimos Exercicios de Algoritimos
Exercicios de Algoritimossandra avenia
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Vitor Hugo Melo Araújo
 
HTML5 Básico: Formulários (aula 2)
HTML5 Básico: Formulários (aula 2)HTML5 Básico: Formulários (aula 2)
HTML5 Básico: Formulários (aula 2)Gustavo Zimmermann
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 
Aula21082020 ferramentas de estoque
Aula21082020 ferramentas de estoqueAula21082020 ferramentas de estoque
Aula21082020 ferramentas de estoqueRicardoSilva562385
 
Teoria Da Informação 2010
Teoria Da Informação 2010Teoria Da Informação 2010
Teoria Da Informação 2010UNIP
 
Introdução ao editor de texto Word
Introdução ao editor de texto WordIntrodução ao editor de texto Word
Introdução ao editor de texto WordDaniel Brandão
 

Mais procurados (20)

Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
 
Grupo 4 natura ii
Grupo 4 natura iiGrupo 4 natura ii
Grupo 4 natura ii
 
Curso HTML, CSS e JavaScript
Curso HTML, CSS e JavaScriptCurso HTML, CSS e JavaScript
Curso HTML, CSS e JavaScript
 
Banco de Dados - Transações e Controle de Concorrência
Banco de Dados - Transações e Controle de ConcorrênciaBanco de Dados - Transações e Controle de Concorrência
Banco de Dados - Transações e Controle de Concorrência
 
Sistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dadosSistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dados
 
Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dados
 
O Sistema Kanban
O Sistema KanbanO Sistema Kanban
O Sistema Kanban
 
Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesa
 
Variaveis locais e globais
Variaveis locais e globaisVariaveis locais e globais
Variaveis locais e globais
 
Exercicios de Algoritimos
 Exercicios de Algoritimos Exercicios de Algoritimos
Exercicios de Algoritimos
 
Logística - Fundamentos
Logística - FundamentosLogística - Fundamentos
Logística - Fundamentos
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER
 
HTML5 Básico: Formulários (aula 2)
HTML5 Básico: Formulários (aula 2)HTML5 Básico: Formulários (aula 2)
HTML5 Básico: Formulários (aula 2)
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Aula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e PseudocódigoAula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e Pseudocódigo
 
Aula21082020 ferramentas de estoque
Aula21082020 ferramentas de estoqueAula21082020 ferramentas de estoque
Aula21082020 ferramentas de estoque
 
Teoria Da Informação 2010
Teoria Da Informação 2010Teoria Da Informação 2010
Teoria Da Informação 2010
 
Introdução ao editor de texto Word
Introdução ao editor de texto WordIntrodução ao editor de texto Word
Introdução ao editor de texto Word
 
Aula 7 banco de dados
Aula 7   banco de dadosAula 7   banco de dados
Aula 7 banco de dados
 

Destaque

Árvore b+ pesquisa e ordenação
Árvore b+ pesquisa e ordenaçãoÁrvore b+ pesquisa e ordenação
Árvore b+ pesquisa e ordenaçãoGustavo Chaves
 

Destaque (20)

Java script aula 04 - objeto array
Java script   aula 04 - objeto arrayJava script   aula 04 - objeto array
Java script aula 04 - objeto array
 
Aula 06 textos na web
Aula 06   textos na webAula 06   textos na web
Aula 06 textos na web
 
Aula 07 - lista linear
Aula 07 - lista linearAula 07 - lista linear
Aula 07 - lista linear
 
Aula 07 acessibilidade
Aula 07  acessibilidadeAula 07  acessibilidade
Aula 07 acessibilidade
 
Java script aula 07 - eventos
Java script   aula 07 - eventosJava script   aula 07 - eventos
Java script aula 07 - eventos
 
Java script aula 06 - dom
Java script   aula 06 - domJava script   aula 06 - dom
Java script aula 06 - dom
 
Java script aula 10 - angularjs
Java script   aula 10 - angularjsJava script   aula 10 - angularjs
Java script aula 10 - angularjs
 
OAC Aula 09 - Entrada e Saída
OAC Aula 09 - Entrada e SaídaOAC Aula 09 - Entrada e Saída
OAC Aula 09 - Entrada e Saída
 
Java script aula 08 - formulários
Java script   aula 08 - formuláriosJava script   aula 08 - formulários
Java script aula 08 - formulários
 
Aula 02 semiótica e cores
Aula 02   semiótica e coresAula 02   semiótica e cores
Aula 02 semiótica e cores
 
Aula 05 layout e composição do site
Aula 05   layout e composição do siteAula 05   layout e composição do site
Aula 05 layout e composição do site
 
Aula 04 layout e composição do site
Aula 04   layout e composição do siteAula 04   layout e composição do site
Aula 04 layout e composição do site
 
Java script aula 03 - objetos
Java script   aula 03 - objetosJava script   aula 03 - objetos
Java script aula 03 - objetos
 
Java script aula 09 - JQuery
Java script   aula 09 - JQueryJava script   aula 09 - JQuery
Java script aula 09 - JQuery
 
WDI - aula 07 - css com html
WDI - aula 07 - css com htmlWDI - aula 07 - css com html
WDI - aula 07 - css com html
 
Ed1
Ed1Ed1
Ed1
 
Arvores
ArvoresArvores
Arvores
 
Árvore b+ pesquisa e ordenação
Árvore b+ pesquisa e ordenaçãoÁrvore b+ pesquisa e ordenação
Árvore b+ pesquisa e ordenação
 
Java script aula 07 - j-query
Java script   aula 07 - j-queryJava script   aula 07 - j-query
Java script aula 07 - j-query
 
Árvores balanceadas - AVL
Árvores balanceadas - AVLÁrvores balanceadas - AVL
Árvores balanceadas - AVL
 

Mais de Cristiano Pires Martins (15)

Aula 08 - árvores
Aula 08 - árvoresAula 08 - árvores
Aula 08 - árvores
 
Java script - funções
Java script - funçõesJava script - funções
Java script - funções
 
Aula 01 introdução
Aula 01   introduçãoAula 01   introdução
Aula 01 introdução
 
Aula 03 esquema de cores
Aula 03   esquema de coresAula 03   esquema de cores
Aula 03 esquema de cores
 
Aula 08-oac-execucao-de-programas
Aula 08-oac-execucao-de-programasAula 08-oac-execucao-de-programas
Aula 08-oac-execucao-de-programas
 
Aula 07-oac-processadores
Aula 07-oac-processadoresAula 07-oac-processadores
Aula 07-oac-processadores
 
Aula 06-oac-memoria-principal
Aula 06-oac-memoria-principalAula 06-oac-memoria-principal
Aula 06-oac-memoria-principal
 
Aula 05-oac-conceitos-de-logica-digital
Aula 05-oac-conceitos-de-logica-digitalAula 05-oac-conceitos-de-logica-digital
Aula 05-oac-conceitos-de-logica-digital
 
Aula 03-oac-componentes-de-um-sistema-de-computacao
Aula 03-oac-componentes-de-um-sistema-de-computacaoAula 03-oac-componentes-de-um-sistema-de-computacao
Aula 03-oac-componentes-de-um-sistema-de-computacao
 
Aula 02-oac-historia-da-computacao-part2
Aula 02-oac-historia-da-computacao-part2Aula 02-oac-historia-da-computacao-part2
Aula 02-oac-historia-da-computacao-part2
 
Aula 02-oac-historia-da-computacao-part1
Aula 02-oac-historia-da-computacao-part1Aula 02-oac-historia-da-computacao-part1
Aula 02-oac-historia-da-computacao-part1
 
Aula 01-oac-introducao-a-oac
Aula 01-oac-introducao-a-oacAula 01-oac-introducao-a-oac
Aula 01-oac-introducao-a-oac
 
Aula 10-oac-arquitetura-risc
Aula 10-oac-arquitetura-riscAula 10-oac-arquitetura-risc
Aula 10-oac-arquitetura-risc
 
Aula 06-sistemas de-arquivo
Aula 06-sistemas de-arquivoAula 06-sistemas de-arquivo
Aula 06-sistemas de-arquivo
 
Aula 04-gerenciamento-basico-de-memoria
Aula 04-gerenciamento-basico-de-memoriaAula 04-gerenciamento-basico-de-memoria
Aula 04-gerenciamento-basico-de-memoria
 

Árvores: conceitos, terminologia e operações básicas

  • 2. O jardineiro é jizus e as árveres somos nozes
  • 3. Introdução • 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; • Exite uma hierarquia de subordinação.
  • 4. Conceitos Básicos • As linhas que unem 2 nodos representam os relacionamentos lógicos e as dependências de subordinação existentes entre eles; • A se relaciona somente com B, C e D e não com os demais; • B se relaciona somente com A e E. A GFE DCB H I J
  • 5. Conceitos Básicos • Relacionamentos de subordinação, formando hierarquias, podem apresentar diferentes significados: • Hierarquias de especialização: representa classes e subclasses; • Hierarquias de composição: o nodo é composto por partes; • Hierarquias de dependência: representa um organograma.
  • 6. Hierarquia de Especialização Veículo MotoCarroHelicópteroAvião Aéreo Terrestre Aquático Motor Vela Remo Navio Iate Lancha
  • 8. Hierarquia de Dependência Diretor Superintendente Diretor Administrativo Diretor Fábrica Diretor Comercial Departamento Cont. Qualidade Departamento Manutenção Departamento Produção
  • 10. Terminologia • A terminologia não é padronizada; • Existem nomes diferentes para os mesmos conceitos em diferentes publicações.
  • 11. Terminologia • Raiz: • 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. Raiz Nós descendentes
  • 12. Terminologia • Subárvore: • Conjunto de nós, sendo todos subordinados a um único nó, externo a esta subárvore. Subárvores
  • 13. Terminologia • 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. Grau de um Nó
  • 14. Terminologia • 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. Folha Nó de Derivação
  • 15. Terminologia • 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. Caminho Nível 1 Nível 2 Nível 3 Nível 4 Comprimento = 3
  • 16. Terminologia • 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.
  • 17. Terminologia • 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.
  • 19. Terminologia • Árvore binária: quando apresentar no máximo grau 2 em cada nó; • Árvore n-ária: quando apresentar no máximo grau n em cada nó.
  • 20. Terminologia • Árvores isomorfas: quando é possível que se tornem coincidentes através de uma permutação na ordem das subárvores de seus nós. • Árvores balanceadas: é aquela na qual existe uma distribuição equilibrada entre os nós da árvore, ou seja, existe uma diferença mínima entre todas as folhas e a raiz. • Uma árvore cheia ou completamente balanceada é aquela em que todas as folhas estão a uma distância igual da raiz.
  • 21. Terminologia • 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.
  • 22. Operações Básicas • 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.
  • 23. Operações Básicas • 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.
  • 24. Outras Operações • 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.
  • 25. Árvores Usando Contiguidade Física • Não é intuitiva como era no caso das Listas Lineares; A E DCB GF IH 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
  • 26. Implementações A E DCB GF IH 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 Por Níveis Por Profundidade
  • 27. Desvantagens Usando Contiguidade Física • 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;
  • 28. Vantagens Usando Contiguidade Física • É eficiente em termos de espaço ocupado, principalmente quando o grau não varia muito; • Implementação é mais simples se existir limitação do número de descendentes.
  • 29. Árvore Ternária Usando Contiguidade Física A E DCB F G A B C D λ E λ λ λ λ λ F G ... 1 2 3 4 5 6 7 8 9 10 11 12 13
  • 30. Árvores Implementadas por Encadeamento • 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.
  • 31. Árvore Implementada Através de Encadeamento A E DCB F G A C / / /B / / D / F / / /E / / / G / / /
  • 32. Vantagens da Implementação por Encadeamento • É 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.
  • 33. Desvantagens da Implementação por Encadeamento • Á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.
  • 34. Exercício • Considere a árvore com representação aninhada a seguir: ( A ( B ) ( C ( F ( H ) ( I ) )) ( D) ( E ( G ) ) ) • Represente a mesma árvore através de: • Diagrama de Inclusão; • Diagrama de barras; • Numeração por níveis; • Monte a árvore na grafia convencional. A ECB F G D IH
  • 35. Exercício • Represente a mesma árvore através de: • Diagrama de Inclusão; • Diagrama de barras; • Numeração por níveis; • Representação aninhada. A ECB F G D IH
  • 36. Exercício • Para a árvore ao lado, responda às perguntas a seguir: • 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? A ECB F G D IH
  • 37. Resposta • Quantas subárvores esta árvore contém? 4 • Quais os nós-folha? B, D, G, H e I • Qual o grau de cada nó? • A=4,B=0,C=1,D=0,E=1,F=2,G=0,H=0 e I=0 • Qual o grau da árvore? 4 • Liste os ancestrais dos nós B, G e I. • B=A; G=A e E; I=A, C e F • Liste os nós de quem F é ancestral próprio. H e I • Liste o nó de quem D é descendente próprio. A • Dê o nível e a altura do nó F e A. • F: Nível 3 e Altura 2 A: Nível 1 e Altura 4 • Qual a altura da árvore? 4 (maior caminho) A ECB F G D IH
  • 38. A ECB G I D ML O RQ F KJ P TS H N Exercício Para a árvore ao lado, responda às perguntas a seguir: • Quantas subárvores o nó G contém? • Quais os nós-folha? • Qual o grau de cada nó? • Qual o grau da árvore? • Liste os ancestrais dos nós L, Q e U. • Liste os nós de quem P é ancestral próprio. • Liste os nós de quem G é descendente próprio. • Dê o nível e a altura do nó J, G, S, O e A. • Qual a altura da árvore? U