grafos - buscawiki.icmc.usp.br/images/6/66/scc0603022016... · busca em profundidade: estratÉgia...

42
Grafos - Busca Profa. Elaine Parros Machado de Sousa alterações: Cristina Dutra de Aguiar Ciferri Material baseado em aulas dos professores: Gustavo Ba5sta, Robson Cordeiro, Moacir Pon5 Jr., Maria Cris5na Oliveira e Thiago A. S. Pardo ALGORITMOS E ESTRUTURAS DE DADOS II

Upload: others

Post on 13-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

Grafos - Busca

Profa.ElaineParrosMachadodeSousaalterações: Cristina Dutra de Aguiar Ciferri

Materialbaseadoemaulasdosprofessores:

GustavoBa5sta,RobsonCordeiro,MoacirPon5Jr.,MariaCris5naOliveiraeThiagoA.S.Pardo

ALGORITMOS E ESTRUTURAS DE DADOS II

Page 2: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

BUSCAEMPROFUNDIDADE:DEFINIÇÃO¢ Depth-FirstSearch–DFS¢ Caracterís5cas:

�  oalgoritmobuscaovér5ce“maisprofundo”nografosemprequepossível

�  asarestassãoexploradasapar5rdovér5cevmaisrecentementedescobertoequeaindapossuiarestasnãoexploradassaindodele

�  quandotodasasarestasadjacentesav5veremsidoexploradas,abusca“andaparatrás”(backtracking)paraexplorarvér5cesquesaemdovér5ceapar5rdoqualvfoidescoberto

Page 3: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

BUSCAEMPROFUNDIDADE:ESTRATÉGIA¢ Cadavér5ceécoloridodebranco,cinzaoupreto�  todososvér5cessãoinicialmentebrancos�  quandoumvér5cevé“descoberto”pelaprimeiravezeletorna-secinzaerecebeummarcadordetempodedescoberta

�  quandotodososvér5cesadjacentesavforemcompletamente“descobertos”,vtorna-sepretoerecebeummarcadordetempodetérmino

Page 4: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

BUSCAEMPROFUNDIDADE:PILHA¢ Usodeumapilhaparaorganizarosvér5cesquedevemserdescobertos�  acadaescolhadecaminhoaserpercorrido,empilha-seovér5ceoriginalesegue-seocaminho

�  cadavezqueocaminhoacaba,retorna-seaovér5ceanteriorempilhado

pilhapodeserimplementadadeformaimplícita(viarecursão)ou

explícita

Page 5: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

BUSCAEMPROFUNDIDADE:EXECUÇÃO¢ Execuçãodoalgoritmo

�  geraumaárvoredebuscaemprofundidadea

¢ Classificaçãodasarestasdografo�  arestasdeárvore:arestasqueocorremnaárvoredebuscaemprofundidade

�  arestasderetorno:arestasqueligamumnóaumantecessornaárvore

�  arestasdeavanço:arestasqueligamumnóaumdescendentenaárvore

�  arestasdecruzamento:demaisarestas

Page 6: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

BUSCAEMPROFUNDIDADE:EXECUÇÃO¢ Cadaaresta(u,v)

�  classificadapelacordovér5cevalcançadoquandoaarestaépercorridapelaprimeiravez

¢ Classificaçãodasarestasdografo�  arestasdeárvore:cordev=branco�  arestasderetorno:cordev=cinzaa�  arestasdeavanço:cordev=pretoetempoDescoberta(u)<tempoDescoberta(v)

�  arestasdecruzamento:cordev=pretoetempoDescoberta(u)>tempoDescoberta(v)

Page 7: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

2

5

1

6

3

7

4

8

BUSCAEMPROFUNDIDADE:EXEMPLO1

Page 8: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

2

5

1

6

3

7

4

8

1/

Vértice origem: 1 Tempo de descoberta: 1 Ação: vértice 1 torna-se cinza Tempo de término: -

BUSCAEMPROFUNDIDADE:EXEMPLO1

1

árvore de busca em profundidade

Page 9: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

2

5

1

6

3

7

4

8

1/

2/

Primeiro vértice não descoberto adjacente a 1: 6 Tempo de descoberta: 2 Ação: vértice 6 torna-se cinza Tempo de término: -

BUSCAEMPROFUNDIDADE:EXEMPLO1

1

6

árvore de busca em profundidade

arv

Page 10: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

2

5

1

6

3

7

4

8

1/

2/

3/

Primeiro vértice não descoberto adjacente a 6: 3 Tempo de descoberta: 3 Ação: vértice 3 torna-se cinza Tempo de término: -

BUSCAEMPROFUNDIDADE:EXEMPLO1

3

1

6

árvore de busca em profundidade

arv arv

Page 11: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

2

5

1

6

3

7

4

8

1/

2/

3/ 4/

Primeiro vértice não descoberto adjacente a 3: 4 Tempo de descoberta: 4 Ação: vértice 4 torna-se cinza Tempo de término: -

BUSCAEMPROFUNDIDADE:EXEMPLO1

4

3

1

6

árvore de busca em profundidade

arv

arv arv

Page 12: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

2

5

1

6

3

7

4

8

1/

2/

3/ 4/

5/

Primeiro vértice não descoberto adjacente a 4: 8 Tempo de descoberta: 5 Ação: vértice 8 torna-se cinza Tempo de término: -

BUSCAEMPROFUNDIDADE:EXEMPLO1

8

4

3

1

6

árvore de busca em profundidade

arv arv

arv

arv

Page 13: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

2

5

1

6

3

7

4

8

1/

2/

3/ 4/

5/ 6/

Primeiro vértice não descoberto adjacente a 8: 7 Tempo de descoberta: 6 Ação: vértice 7 torna-se cinza Tempo de término: -

BUSCAEMPROFUNDIDADE:EXEMPLO1

7

8

4

3

1

6

árvore de busca em profundidade

arv

arv arv

arv

arv

Page 14: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

2

5

1

6

3

7

4

8

1/

2/

3/ 4/

5/ 6/7

BUSCAEMPROFUNDIDADE:EXEMPLO1

7

8

4

3

1

6

árvore de busca em profundidade

Primeiro vértice não descoberto adjacente a 7: nenhum Tempo de descoberta: - Ação: vértice 7 torna-se preto Tempo de término: 7

ret ret

ret

arv

arv

arv

arv

arv

Page 15: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

2

5

1

6

3

7

4

8

1/

2/

3/ 4/

5/8 6/7

Primeiro vértice não descoberto adjacente a 8: nenhum Tempo de descoberta: - Ação: vértice 8 torna-se preto Tempo de término: 8

BUSCAEMPROFUNDIDADE:EXEMPLO1

7

8

4

3

1

6

árvore de busca em profundidade

ret ret

ret

arv

arv

arv

arv

arv

Page 16: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

2

5

1

6

3

7

4

8

1/

2/

3/ 4/9

5/8 6/7

Primeiro vértice não descoberto adjacente a 4: nenhum Tempo de descoberta: - Ação: vértice 4 torna-se preto Tempo de término: 9

BUSCAEMPROFUNDIDADE:EXEMPLO1

7

8

4

3

1

6

árvore de busca em profundidade

ret ret

ret

arv

arv

arv

arv

arv

Page 17: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

2

5

1

6

3

7

4

8

1/

2/

3/10 4/9

5/8 6/7

Primeiro vértice não descoberto adjacente a 3: nenhum Tempo de descoberta: - Ação: vértice 3 torna-se preto Tempo de término: 10

BUSCAEMPROFUNDIDADE:EXEMPLO1

7

8

4

3

1

6

árvore de busca em profundidade

ret ret

ret

arv

arv

arv

arv

arv

Page 18: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

2

5

1

6

3

7

4

8

1/

2/11

3/10 4/9

5/8 6/7

Primeiro vértice não descoberto adjacente a 6: nenhum Tempo de descoberta: - Ação: vértice 6 torna-se preto Tempo de término: 11

BUSCAEMPROFUNDIDADE:EXEMPLO1

7

8

4

3

1

6

árvore de busca em profundidade

ret ret

ret

arv

arv

arv

arv

arv

Page 19: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

2

5

1

6

3

7

4

8

1/

2/11

3/10 4/9

5/8 6/7

12/

Primeiro vértice não descoberto adjacente a 1: 2 Tempo de descoberta: 12 Ação: vértice 2 torna-se cinza Tempo de término: -

BUSCAEMPROFUNDIDADE:EXEMPLO1

2

7

8

4

3

1

6

árvore de busca em profundidade

arv

ret ret

ret

arv

arv

arv

arv

arv

Page 20: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

2

5

1

6

3

7

4

8

1/

2/11

3/10 4/9

5/8 6/7

12/

13/

Primeiro vértice não descoberto adjacente a 2: 5 Tempo de descoberta: 13 Ação: vértice 5 torna-se cinza Tempo de término: -

BUSCAEMPROFUNDIDADE:EXEMPLO1

5

2

7

8

4

3

1

6

árvore de busca em profundidade

arv

arv

ret ret

ret

arv

arv

arv

arv

arv

Page 21: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

2

5

1

6

3

7

4

8

1/

2/11

3/10 4/9

5/8 6/7

12/

13/14

Primeiro vértice não descoberto adjacente a 5: nenhum Tempo de descoberta: - Ação: vértice 5 torna-se preto Tempo de término: 14

BUSCAEMPROFUNDIDADE:EXEMPLO1

5

2

7

8

4

3

1

6

árvore de busca em profundidade

arv

ret ret

ret

arv

arv

arv

arv

arv arv

Page 22: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

2

5

1

6

3

7

4

8

1/

2/11

3/10 4/9

5/8 6/7

12/15

13/14

Primeiro vértice não descoberto adjacente a 2: nenhum Tempo de descoberta: - Ação: vértice 2 torna-se preto Tempo de término: 15

BUSCAEMPROFUNDIDADE:EXEMPLO1

5

2

7

8

4

3

1

6

árvore de busca em profundidade

arv

arv

ret ret

ret

arv

arv

arv

arv

arv

Page 23: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

2

5

1

6

3

7

4

8

1/16

2/11

3/10 4/9

5/8 6/7

12/15

13/14

Primeiro vértice não descoberto adjacente a 1: nenhum Tempo de descoberta: - Ação: vértice 1 torna-se preto Tempo de término: 16

BUSCAEMPROFUNDIDADE:EXEMPLO1

5

2

7

8

4

3

1

6

árvore de busca em profundidade

arv

arv

ret ret

ret

arv

arv

arv

arv

arv

Page 24: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

2

5

1

6

3

7

4

8

1/16

2/11

3/10 4/9

5/8 6/7

12/15

13/14

BUSCAEMPROFUNDIDADE:EXEMPLO1

5

2

7

8

4

3

1

6

árvore de busca em profundidade

emumgrafonãodirecionado,todasas

arestassãodeárvoreouderetorno

arv

arv

ret ret

ret

arv

arv

arv

arv

arv

Page 25: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

3 2 1

4 5 6

BUSCAEMPROFUNDIDADE:EXEMPLO2

Page 26: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

3 2 1

4 5 6

1/ 1

BUSCAEMPROFUNDIDADE:EXEMPLO2

Vértice origem: 1 Tempo de descoberta: 1 Ação: vértice 1 torna-se cinza Tempo de término: -

árvore de busca em profundidade

Page 27: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

3 2 1

4 5 6

1/ 2/ 1

2 arv

BUSCAEMPROFUNDIDADE:EXEMPLO2

Primeiro vértice não descoberto adjacente a 1: 2 Tempo de descoberta: 2 Ação: vértice 2 torna-se cinza Tempo de término:

árvore de busca em profundidade

Page 28: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

3 2 1

4 5 6

1/ 2/ 3/ 1

2

3

arv arv

BUSCAEMPROFUNDIDADE:EXEMPLO2

Primeiro vértice não descoberto adjacente a 2: 3 Tempo de descoberta: 3 Ação: vértice 3 torna-se cinza Tempo de término:

árvore de busca em profundidade

Page 29: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

3 2 1

4 5 6

1/ 2/ 3/ arv arv

1

2

3

6

arv

4/

BUSCAEMPROFUNDIDADE:EXEMPLO2

Primeiro vértice não descoberto adjacente a 3: 6 Tempo de descoberta: 4 Ação: vértice 6 torna-se cinza Tempo de término:

árvore de busca em profundidade

Page 30: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

3 2 1

4 5 6

1/ 2/ 3/ arv arv

arv ret

4/5

1

2

3

6

BUSCAEMPROFUNDIDADE:EXEMPLO2

Primeiro vértice não descoberto adjacente a 6: nenhum Tempo de descoberta: - Ação: vértice 6 torna-se preto Tempo de término: 5

árvore de busca em profundidade

Page 31: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

3 2 1

4 5 6

1/ 2/ 3/6 arv arv

arv ret

4/5

1

2

3

6

BUSCAEMPROFUNDIDADE:EXEMPLO2

Primeiro vértice não descoberto adjacente a 3: nenhum Tempo de descoberta: - Ação: vértice 3 torna-se preto Tempo de término: 6

árvore de busca em profundidade

Page 32: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

3 2 1

4 5 6

1/ 2/ 3/6 arv arv

arv ret

4/5 7/

1

2

3

6

5

arv

BUSCAEMPROFUNDIDADE:EXEMPLO2

Primeiro vértice não descoberto adjacente a 2: 5 Tempo de descoberta: 7 Ação: vértice 5 torna-se preto Tempo de término: -

árvore de busca em profundidade

Page 33: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

3 2 1

4 5 6

1/ 2/ 3/6 arv arv

arv ret

4/5 7/8

arv

1

2

3

6

5 cruz

BUSCAEMPROFUNDIDADE:EXEMPLO2

Primeiro vértice não descoberto adjacente a 5: nenhum Tempo de descoberta: - Ação: vértice 5 torna-se preto Tempo de término: 8

árvore de busca em profundidade

Page 34: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

3 2 1

4 5 6

1/ 2/9 3/6 arv arv

arv ret

4/5 7/8

arv

1

2

3

6

5 cruz

BUSCAEMPROFUNDIDADE:EXEMPLO2

Primeiro vértice não descoberto adjacente a 2: nenhum Tempo de descoberta: - Ação: vértice 2 torna-se preto Tempo de término: 9

árvore de busca em profundidade

Page 35: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

3 2 1

4 5 6

1/10 2/9 3/6 arv arv

arv ret

4/5 7/8

arv

cruz

1

2

3

6

5

ava

BUSCAEMPROFUNDIDADE:EXEMPLO2

Primeiro vértice não descoberto adjacente a 1: nenhum Tempo de descoberta: - Ação: vértice 1 torna-se preto Tempo de término: 10

árvore de busca em profundidade

Page 36: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

3 2 1

4 5 6

1/10 2/9 3/6 arv arv

arv ret

4/5 7/8

arv

cruz 11/

ava

1

2

3

6

5

4

BUSCAEMPROFUNDIDADE:EXEMPLO2

Vértice origem: 4 Tempo de descoberta: 11 Ação: vértice 4 torna-se cinza Tempo de término: -

árvore de busca em profundidade

Page 37: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

3 2 1

4 5 6

1/10 2/9 3/6 arv arv

arv ret

4/5 7/8

arv

cruz 11/12

cruz

cruz ava

1

2

3

6

5

4

BUSCAEMPROFUNDIDADE:EXEMPLO2

Primeiro vértice não descoberto adjacente a 4: nenhum Tempo de descoberta: - Ação: vértice 4 torna-se preto Tempo de término: 12

árvore de busca em profundidade

Page 38: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

3 2 1

4 5 6

1/10 2/9 3/6 arv arv

arv ret

4/5 7/8

arv

cruz 11/12

cruz

cruz ava

BUSCAEMPROFUNDIDADE:EXEMPLO2

emumgrafodirecionado,podemocorreraindaarestasdeavançoede

cruzamento

árvore de busca em profundidade

1

2

3

6

5

4

Page 39: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

¢ SegrafoGnãofor(fortemente)conectado=>buscaemprofundidadegeraumaflorestadeárvoresdebusca.

1

6

2

5

3

4

BUSCAEMPROFUNDIDADE:EXECUÇÃO

Page 40: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

BUSCAEMPROFUNDIDADE:USO¢ Oalgoritmoébaseparaoutrosalgoritmosimportantes�  verificaçãodegrafosacíclicos�  descobertadecaminhos�  ordenaçãotopológica�  descobertadecomponentesfortementeconectados

Page 41: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

¢ Caracterís5ca�  linearemrelaçãoaotamanhodarepresentaçãodografousandolistasdeadjacência

¢ O(|V|)�  cadavér5ceutorna-searaizdeumanovaárvoredebuscaemprofundidadeapenasumaúnicavez(visitaDFS)

¢ O(|A|)�  novisitaDFS,olaçoéexecutado|adj[u]|vezes,ouseja,O(|A|)nototal

Busca em Profundidade: Complexidade

O(|V|+|A|)

Page 42: Grafos - Buscawiki.icmc.usp.br/images/6/66/SCC0603022016... · BUSCA EM PROFUNDIDADE: ESTRATÉGIA ¢ Cada vér5ce é colorido de branco, cinza ou preto todos os vér5ces são inicialmente

BIBLIOGRAFIA¢ N.Ziviani.ProjetodeAlgoritmos,Thomson,2a.Edição,2004.

¢ T.H.Cormen,C.E.LeisersonandR.L.Rivest.Introduc5ontoAlgorithms,MITPress,2ndEdi5on,2001.