Árvore prof. m.sc. fábio francisco da costa fontes abril - 2009

26
ÁRVORE ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Upload: internet

Post on 17-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

ÁRVOREÁRVORE

Prof. M.Sc. Fábio Francisco da Costa Fontes

Abril - 2009

Page 2: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Introdução

Um grafo sem ciclos (com n 2) é conhecido também como floresta.

Uma árvore é um grafo sem ciclos conexo.

Page 3: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Introdução

Árvores são muito importantes para o entendimento e utilização prática de grafos

Geralmente os algoritmos de árvores são muito mais eficientes que os algoritmos que trabalham com grafos

Solução ótima para o processamento, gerenciamento e recuperação de informações (árvores binárias)

Page 4: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Caracterização de Árvores

Definição: uma árvore é um grafo conectado sem ciclos.

Árvore Não é árvore Não é árvore

Page 5: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Caracterização de Árvores

Definição: em uma árvore não direcionada, uma folha é um vértice de grau 1.

Se uma folha é deletada de uma árvore, o resultado continua sendo uma árvore (com um vértice a menos)

Folha deletada

Page 6: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Propriedades Básicas

Toda árvore com n vértices contém exatamente n-1 arestas

Uma árvore é um grafo conectado em que toda aresta é uma ponte

Quaisquer dois vértices são conectados exatamente por um caminho

Toda árvore com pelo menos uma aresta tem no mínimo duas folhas

Obs: Uma ponte é uma aresta cuja retirada desconecta o grafo

Page 7: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Portanto sendo G = (V, E) um grafo, com n >= 2. As propriedades para caracterizar G como uma árvore são:

G é sem ciclos e conexo G é sem ciclos e tem n – 1 arestas G é conexo e tem n – 1 arestas G é sem ciclos e a adição de uma aresta cria

um ciclo único G é conexo, mas G’ = G – e é não conexo para

todo e pertencente a E Todo par de vértices de G é unido por uma

cadeia única

Page 8: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Isomorfismo de árvores

Os dois grafos tem a mesma seqüência de graus, mas não são isomórficos

Existe um algoritmo de tempo linear para testar o isomorfismo de árvores

Page 9: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Árvores enraizadas Definição: uma árvore direcionada é

um dígrafo cujo grafo de base (não direcionado) é uma árvore

Definição: uma árvore enraizada é uma árvore com um vértice designado como raiz. Cada aresta é direcionada no sentido de se afastar da raiz.

Uma árvore enraizada é uma árvore direcionada cuja raiz tem grau de entrada 0 e todos os demais vértices tem grau de entrada 1

Page 10: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Aplicações

Árvores de decisão: programas de computador que precisam elaborar estratégias complexas de tomada de decisão são muitas vezes baseados em árvores enraizadas.

x

xo

xox

xox

xo x xo x

xo

Page 11: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Aplicações

Análise de frases: uma árvore enraizada pode ser usada para analisar frases em linguagem natural.

frase

sujeito predicado

verbo complemento

substantivo

adjetivo substantivo

José tem dois sapatos

Page 12: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Aplicações

Árvore de caminho mais curto: para um grafo conectado G com vértice v, uma árvore enraizada fornece uma forma de visualizar para cada w VG, um caminho mais curto de v para w.

x

t

a

u

s

y

v

z

a

uts y

v x z

Page 13: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Terminologia

Designando uma raiz numa árvore impõe uma hierarquia nos vértices, de acordo com as distâncias até a raiz

A profundidade ou nível de um vértice v é a sua distância para a raiz

A altura de uma árvore é o comprimento de um caminho mais longo a partir da raiz até uma folha

Page 14: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Terminologia

Se no caminho da raiz para um vértice w, o vértice v precede imediatamente o vértice w, então v é chamado pai de w, e w é filho de v.

Vértices com o mesmo pai são chamados de irmãos

Um vértice w é descendente de um vértice v, se v está no caminho da raiz ao vértice w (v é ancestral de w)

Page 15: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Terminologia

Uma folha em uma árvore enraizada é qualquer vértice que não tem filhos.

Um vértice interno é qualquer vértice que tem pelo menos um filho. A raiz é um vértice interno, a não ser que a árvore seja trivial.

r

cba

f gd

j

e h i

Altura = 3Internos: r, a, b, c, dFolhas: e, f, g, h, i, jIrmãos: g, h, ia é ancestral de jj é descendente de a

Page 16: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Tipos de árvores Muitas aplicações impõem um limite

para o número de filhos que um vértice pode ter

Uma árvore m-ária é uma árvore enraizada em que todo vértice tem no máximo m filhos

Uma árvore m-ária completa é uma árvore m-ária em que todo vértice interno tem exatamente m filhos e todos os filhos tem o mesmo nível.

Page 17: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Isomorfismo para enraizadas

Duas árvores enraizadas são isomórficas como árvores enraizadas se existir um isomorfismo de grafo entre elas que mapeie raiz com raiz.

Isomorfas como árvores enraizadas Isomorfas como árvores

Page 18: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Representação Computacional

Um vetor de pais pode ser usado para representar uma árvore enraizada no computador

r

ba

c d e f

bbbarr

fedcbar

pai

vertice

Page 19: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Árvores Binárias

Árvores binárias estão entre as estruturas de dados mais utilizadas da ciência da computação

Definição: uma árvore binária é uma árvore ordenada 2-ária em que cada filho é classificado como filho esquerdo ou filho direito.

r

Árvore binária de altura 3

Page 20: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Visão Recursiva

Uma árvore binária consiste de uma raiz e uma sub-árvore esquerda e direita, que são também árvores binárias.

r

sub-árvore esquerda

sub-árvore direita

Page 21: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

Exercício

1 – Desenhe todas as árvores com 6 vértices e com 7 vértices.

2 – Especifique o vetor de pais para o grafo H abaixo:

3 – Determine todas as árvores parciais do grafo G a seguir.

G H

Você pode garantir que determinou realmente todas?

r

ba

c d e

f

Page 22: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

O problemas da Árvore Geradora Mínima (minimum

spanning tree)

Um problema de interesse em grafos é o problema de determinação da árvore geradora de custo mínimo ou, simplesmente, árvore geradora mínima de um grafo.

O número de árvores geradoras em um grafo completo, não-orientado Kn é igual a:

Page 23: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

O problemas da Árvore Geradora Mínima (minimum spanning tree)

Grafo sem pesos:qualquer árvore geradora tem custo mínimo

Grafo com pesos diferentes:

Page 24: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

O problemas da Árvore Geradora Mínima (minimum spanning tree)

Prob. Otimização Combinatória (POC): Determinar a árvore geradora de peso mínimo (p/ n = 8, Árvores Geradoras = 262.144 escolhas).

Page 25: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

O problemas da Árvore Geradora Mínima (minimum spanning tree)

A árvore geradora mínima não representará necessariamente a interconecção mais curta entre os n vértices de um grafo GTrata-se de um problema de interligação ótima em grafos não orientados que são, habitualmente, modelos de redes nas quais algum tipo de serviço é distribuido e o custo de cada elemento da rede não depende da maior ou menor distância até algum ponto-chave

Page 26: ÁRVORE Prof. M.Sc. Fábio Francisco da Costa Fontes Abril - 2009

O problemas da Árvore Geradora Mínima (minimum spanning tree)

Exemplos de aplicação prática?