A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Caminhamento em Grafos

Apresentações semelhantes


Apresentação em tema: "Caminhamento em Grafos"— Transcrição da apresentação:

1 Caminhamento em Grafos
Autoria: Celso C. Ribeiro e Caroline T. Rocha Adaptação: Maria Claudia Silva Boeres

2 Caminhamento em Grafos
Caminhar/percorrer um grafo: visitar todos os nós e arestas BUSCA EM PROFUNDIDADE Enquanto for possível, aprofundar-se no grafo. Quando não for mais possível, recuar. 8 9 1 5 4 2 6 3 7 10 2 3 10 1 10º 9 4 6 7 5 8 Algoritmos em Grafos

3 Caminhamento em Grafos
1 4 6 5 7 8 3 2 10 9 8 9 1 5 4 2 6 3 7 10 2 3 10 1 10º 9 4 6 7 5 8 Algoritmos em Grafos

4 Caminhamento em Grafos
A ordem em que os nós e arestas são visitados depende: do nó inicial da ordem em que os nós e as arestas aparecem na estrutura de dados Algoritmos em Grafos

5 Caminhamento em Grafos
Algoritmo recursivo para busca a partir de um nó Procedimento PROF(nó v) visitado(v)  sim Para cada nó w adjacente a v faça Se visitado(w) = não então PROF(w) fim-para Fim Algoritmos em Grafos

6 Caminhamento em Grafos
Exemplo: 1 D A E B C F G H A A B C D E F G H X X 2 7 B C X X D E F G 3 X 5 6 8 X X H 4 X não visitado visitado Algoritmos em Grafos

7 Caminhamento em Grafos
Exemplo: A B E F D H C G 1 D A E B C F G H A 2 7 B C D E F G 3 5 6 8 H 4 Árvore de busca em profundidade (pilha) Algoritmos em Grafos

8 Caminhamento em Grafos
Algoritmo de busca em profundidade Procedimento BUSCA-PROF Para i = 1,...,n faça visitado(i)  não fim-para Se visitado(i) = não então PROF(i) Fim Algoritmos em Grafos

9 Caminhamento em Grafos
Exemplo: 7 1 11 8 2 3 1 7 5 6 4 11 9 14 12 10 13 1 2 11 6 8 7 8 2 3 10 14 9 4 9 12 6 3 10 5 5 13 4 13 12 14 Algoritmos em Grafos

10 Caminhamento em Grafos
Aplicações de busca em profundidade, grafo G=(V,E) Algoritmos em Grafos

11 Caminhamento em Grafos
Algoritmo para encontrar as componentes conexas Procedimento COMPONENTES-CONEXAS Para i = 1,...,n faça visitado(i)  0 fim-para componente  0 Se visitado(i) = 0 então componente  componente + 1 PROF(i, componente) fim-se Fim Algoritmos em Grafos

12 Caminhamento em Grafos
Algoritmo para encontrar as componentes conexas Procedimento PROF(v, marca) visitado(v)  marca Para cada nó w adjacente a v faça Se visitado(w) = 0 então PROF(w, marca) fim-se fim-para Fim Algoritmos em Grafos

13 Caminhamento em Grafos
BUSCA EM AMPLITUDE Enquanto for possível, examinar todos os nós à mesma distância do nó inicial. Quando não for mais possível, aprofundar. 5 6 8 9 1 5 4 2 6 3 7 10 1 2 9 3 10 1 2 9 4 7 6 4 10 7 5 3 8 8 Algoritmos em Grafos

14 Caminhamento em Grafos
D A E B C F G Exemplo: Árvore de busca em profundidade (pilha) Árvore de busca em amplitude (fila) B C A F G D E D E A F G C B Algoritmos em Grafos

15 Caminhamento em Grafos
Algoritmo de busca em amplitude Procedimento BUSCA-AMPL(v) visitado(v)  sim Colocar v em uma fila Enquanto fila não vazia faça w  retirar o elemento da frente da fila Para cada vértice i adjacente a w faça Se visitado(i) = não então visitado(i)  sim Colocar i no final da fila fim-se fim-para fim-enquanto Fim Algoritmos em Grafos

16 Caminhamento em Grafos
Exemplo: A B C D E F G H 1 D A E B C F G H A 2 3 B C D E F G 4 5 6 7 H 8 Fila w = G H F B D E A C não visitado visitado F G H B C A E D E C D B G F D F E C D E Algoritmos em Grafos

17 Caminhamento em Grafos
Exemplo: D A E B C F G H 1 D A E B C F G H A 2 3 B C D E F G 4 5 6 7 H 8 Árvore de busca em amplitude (fila) Algoritmos em Grafos

18 Caminhamento em Grafos
Exemplo: 1 5 6 8 2 5 4 RCM 1 7 3 4 3 7 1 7 5 4 2 3 8 6 2 6 8 Árvore de busca em amplitude (fila) Algoritmos em Grafos


Carregar ppt "Caminhamento em Grafos"

Apresentações semelhantes


Anúncios Google