Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Conceito de Árvore: Definição, Representações e Propriedades, Notas de estudo de Informática

Este documento aborda o conceito de árvore, definindo-a recursivamente e discutindo suas representações, ordenação dos nós e propriedades básicas. Além disso, são apresentadas definições associadas a árvores, como filho esquerdo, irmão direito e caminho.

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 02/12/2010

liliane-costa-de-farias-8
liliane-costa-de-farias-8 🇧🇷

5

(1)

3 documentos

1 / 7

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
CES-11
Árvores
Conceito de árvore
Definição recursiva de árvore
Definições associadas a árvore
Representações de árvores
Ordenação dos nós de uma árvore
CONCEITO DE ÁRVORE
Tantos as pilhas como as filas são estruturas lineares,
isto é, de uma única dimensão.
Na sua implementação, as listas ligadas possibilitam
maior flexibilidade que os vetores, mas mesmo assim
não permitem a representação hierárquica de
dados.
Árvores (trees) são estruturas hierárquicas, formadas
por vértices e arestas. Ao contrário das árvores
naturais, são representadas de cima para baixo: a raiz
está no topo e as folhas na base.
CONCEITO DE ÁRVORE
Cada nó tem um e apenas
um pai (exceto a raiz)
Cada nó tem zero ou mais
filhos
Um nó não pode ter um
ancestral como filho
Caso contrário, surgiria um
ciclo...
Árvore é uma estrutura
recursiva: cada filho é
também uma árvore.
CONCEITO DE ÁRVORE
Cada elemento:
Tem um único pai (exceto a raiz)
Pode ter vários filhos
Não pode ser pai de nenhum ancestral
A raiz é o único nó que
não possui ancestrais.
Ex: A
As folhas são os nós
sem filhos.
Ex: E, F, G, I, J, K


Exemplos:
CONCEITO DE ÁRVORE CONCEITO DE ÁRVORE
O número de filhos por nó e as informações
armazenadas diferenciam os tipos de
árvores.


 
!!!"
!#$
pf3
pf4
pf5

Pré-visualização parcial do texto

Baixe Conceito de Árvore: Definição, Representações e Propriedades e outras Notas de estudo em PDF para Informática, somente na Docsity!

CES-

 Árvores  Conceito de árvore  Definição recursiva de árvore  Definições associadas a árvore  Representações de árvores  Ordenação dos nós de uma árvore

CONCEITO DE ÁRVORE

 Tantos as pilhas como as filas são estruturas lineares, isto é, de uma única dimensão.

 Na sua implementação, as listas ligadas possibilitam maior flexibilidade que os vetores, mas mesmo assim não permitem a representação hierárquica de dados.

 Árvores ( trees ) são estruturas hierárquicas , formadas por vértices e arestas. Ao contrário das árvores naturais, são representadas de cima para baixo: a raiz está no topo e as folhas na base.

CONCEITO DE ÁRVORE

 Cada nó tem um e apenas um pai (exceto a raiz)

 Cada nó tem zero ou mais filhos

 Um nó não pode ter um ancestral como filho  Caso contrário, surgiria um ciclo...

 Árvore é uma estrutura recursiva: cada filho é também uma árvore.

CONCEITO DE ÁRVORE

 Cada elemento:  Tem um único pai (exceto a raiz)  Pode ter vários filhos  Não pode ser pai de nenhum ancestral

 A raiz é o único nó que

não possui ancestrais.

 Ex: A

 As folhas são os nós

sem filhos.

 Ex: E, F, G, I, J, K

Árvore nula: sem nós

 Exemplos:

CONCEITO DE ÁRVORE CONCEITO DE ÁRVORE

 O número de filhos por nó e as informações armazenadas diferenciam os tipos de árvores.

 A árvore ao lado representa

a expressão (3+6)*(4-1)+5:

as folhas possuem valores e

os nós intermediários,

operadores matemáticos.

CES-

 Árvores  Conceito de árvore  Definição recursiva de árvore  Definições  Representações de árvores  Ordenação dos nós de uma árvore

DEFINIÇÃO RECURSIVA DE ÁRVORE

 Um único nó, por si mesmo, é também uma árvore sem filhos, onde ele é a raiz.  Seja n um nó e T 1 , T 2 , ... , Tk , árvores de raízes n 1 , n 2 , ..., nk , respectivamente. Pode-se construir uma nova árvore tornando n pai de n 1 , n 2 , ..., nk.

n 1

T 1

n 2

T 2

n 3

T 3

nk

Tk

n

 Comprovação de que a figura abaixo é uma

árvore:

 I, J, K são árvores sem filhos

 H é raiz de uma nova árvore  F e G são árvores sem filhos

 C é raiz de uma nova árvore

 E é uma árvore sem filhos

 B é raiz de uma nova árvore  Como B, C e D são árvores, A é raiz de uma nova árvore

DEFINIÇÃO RECURSIVA DE ÁRVORE

CES-

 Árvores  Conceito de árvore  Definição recursiva de árvore  Definições  Representações de árvores  Ordenação dos nós de uma árvore

DEFINIÇÕES

 Filho esquerdo de um nó é o seu único filho ou o

primeiro filho mais à esquerda.

 B é o filho esquerdo de A

 F é o filho esquerdo de C

 H é o filho esquerdo de D

DEFINIÇÕES

 Irmão direito de um nó é o irmão

imediatamente à direita desse nó.

 Nó sem irmão direito é chamado de caçula.

 C é o irmão direito de B

 K é o irmão direito de J

 H, G, K são caçulas

 E é primogênito e caçula

CES-

 Árvores  Conceito de árvore  Definição recursiva de árvore  Definições  Representações de árvores  Ordenação dos nós de uma árvore

REPRESENTAÇÕES DE ÁRVORES

a) Forma convencional

b) Diagrama de conjuntos

REPRESENTAÇÕES DE ÁRVORES

 Identificação recursiva de uma forma parentética:

 Sendo c um caractere genérico, (c) é uma forma parentética correta.  Se α 1 , α 2 , α 3 , ..., αn são formas parentéticas corretas, com n > 0, então (c α 1 α 2 α 3 ... αn) também será.

(A (B (E)) (C (F) (G)) (D (H (I) (J) (K))) )

c) Forma parentética Coloca-se entre parêntesis a raiz,seguida das formas parentéticas de suas sub-árvores, ordenadas da esquerda para a direita

d) Forma tabulada Diretoria Departamento de Fabricação Seção de Prensas Seção de Tornos Seção de Ferramentaria Seção de Fornos Seção de Banhos Químicos Departamento de Engenharia de Produção Seção de Desenvolvimento de Projetos Seção de Desenhos Seção de Controle de Qualidade Departamento de Manutenção Seção de Eletricistas Seção de Mecânica Seção de Hidráulica Seção de Instalações Prediais

 Cada nó aparece numa linha, e seus filhos são listados com uma tabulação a mais que a desse nó.  Ex: organograma de uma empresa, índice de livros, etc.

REPRESENTAÇÕES DE ÁRVORES

e) Forma numerada (ou itemizada)

1 – Estruturas de dados 1.1 – Listas lineares 1.1.1 – Estrutura contígua 1.1.2 – Estrutura encadeada 1.1.3 – Pilhas e filas 1.2 – Árvores 1.2.1 – Definições 1.2.2 – Estruturas de dados 1.2.3 – Árvores binárias 1.3 – Grafos 1.3.1 – Grafos orientados 1.3.2 – Grafos não orientados

 Semelhante à anterior: a numeração de um nó tem como prefixo o número de seu pai, e como sufixo um número que o diferencie dos irmãos.

REPRESENTAÇÕES DE ÁRVORES

CES-

 Árvores  Conceito de árvore  Definição recursiva de árvore  Definições  Representações de árvores  Ordenação dos nós de uma árvore

ORDENAÇÃO DOS NÓS DE UMA ÁRVORE

 a) Ordenação dos filhos de um nó

 Os filhos de um nó são ordenados da esquerda para a direita  Por exemplo, as duas árvores abaixo têm o mesmo pai e os mesmos filhos, mas são diferentes:

ORDENAÇÃO DOS NÓS DE UMA ÁRVORE

 b) Extensão da ordenação da esquerda para a

direita

 Se X e Y são irmãos e X está à direita de Y, então todos os descendentes de X estão à direita de todos os descendentes de Y.

 Exemplo: C e D são irmãos e C está à esquerda de D  F e G estão à esquerda de D, H, I, J e K  J não está nem à direita nem à esquerda de H, D, e A

ORDENAÇÃO DOS NÓS DE UMA ÁRVORE

 c) Ordenação de todos os nós de uma árvore

 Existem formas de se ordenar e de se percorrer sistematicamente todos os nós de uma árvore:  Ordenação ou percurso por nível  Ordenação ou percurso em pré-ordem  Ordenação ou percurso em pós-ordem  Ordenação ou percurso em ordem central (ou in-ordem)

Busca em largura

Busca em profundidade

PERCURSO POR NÍVEL (OU LARGURA)

 Passos:

 Primeiramente, visita-se a raiz

 Depois visitam-se todos os filhos da raiz, da esquerda para a direita

 Depois os descendentes dos filhos da esquerda para a direita, e assim por diante...

 Também é chamada busca ou percurso em largura

A B C D E F G H I J K

COMO IMPLEMENTAR O PERCURSO POR NÍVEL (OU

LARGURA)?

 Implementação com

uso de fila:

 Depois que um nó é

PERCURSO EM ORDEM-CENTRAL

 Artifício manual: anotar um nó folha ao passar por ele pela 1ª vez e um nó não-terminal ao passar por ele pela 2a vez.

E B A F C G I H J K D

void OrdCentral (node n) { if (n é folha) Escrever (n); else { OrdCentral (Filho esquerdo de n); Escrever (n); for (cada filho c de n, exceto o esquerdo, da esquerda para a direita) OrdCentral (c); } }