aula de redes 4

Upload: mexico108

Post on 02-Nov-2015

216 views

Category:

Documents


0 download

DESCRIPTION

conteúdo das aulas de comunicação e redes da ufabc

TRANSCRIPT

  • 1Aula 04 Busca em profundidade

    BC0506 - Comunicao e Redes

    David Correa Martins [email protected]

  • 2Aula passada

    Algoritmo de busca em largura.

    gf

    h

    k

    pn q r

    b

    c

    m

    rvore de busca em larguraGrafo de entrada

    gf h k

    pn q r

    b c

    m

    01

    2

    3 4 5

    6 7 8 910

  • 3Roteiro da aula

    Grafos- Definies: rvore e florestas.

    Algoritmos de buscas em grafos- Busca em profundidade

    Atividade prtica

  • 4I. Definies

  • 5Definies

    Uma rvore um grafo conexo e acclico (sem ciclos).

    As rvores so muito teis para organizar informao.

    rvore no-direcionada rvore direcionada

  • 6Definies

    O seguinte grafo uma rvore?

    2

    1 3

    4

    5

    6

    7

  • 7Definies

    O seguinte grafo uma rvore?

    0: 5,11: 0,2,3,42: 13: 14: 15: 06: 7,87: 68: 6

  • 8Definies

    O seguinte grafo uma rvore?

    0: 5,11: 0,2,3,42: 13: 14: 15: 06: 7,87: 68: 6

    1

    3

    4

    760 5

    2 8

    Uma floresta um conjunto de rvores.

  • 9Definies

    Toda rvore com V vrtices tem exatamente V-1 arestas.

    1

    3

    4

    760 5

    2 8

    V=9 V=6 V=3

  • 10

    Definies

    Toda floresta com V vrtices e C componentes conexas tem exatamente V-C arestas.

    1

    3

    4

    760 5

    2 8

    Uma floresta com 14 vrtices, e 3 componentes, tem 11 arestas.

    11

    13

    14

    12

    15

  • 11

    Definies

    Folhas: vrtices de grau 1 na florestaTambm chamadas de ns terminais

    1

    6011

    14

    12

    3

    4

    75

    2 813

    15

  • 12

    rvore de genealogia acadmica de J. BernoulliJohann Bernoulli

    Leonhard Euler Samuel Konig

    Grafo direccionadoVrtices: 81.768Arestas: 88.921

  • 13

    II. Busca em profundidade

  • 14

    Busca em profundidade

    A estrategia seguida pela busca em profundidade , como seu nome implica, procurar cada vez mais fundo no grafo.

    Nessa busca as arestas soexploradas a partir do vrticemais recentemente descobertoque ainda possui arestasinexploradas saindo dele.

    Baseado em Pilha.

  • 15

    Busca em profundidade

    Fila

    Pilha

    First In, First Out

    Last In, First Out

  • 16

    Busca em profundidade

    Inicialmente, parte-se de um dado vrtice {s}Os vrtices so explorados a partir do vrtice mais recentemente descoberto.

  • 17

    Busca em grafos

    a

    b c

    d e

    i jh

    f g

    k

  • 18

    Busca em grafos

    a

    b c

    d e

    i jh

    f g

    k

    a

    b c

    d e

    i jh

    f g

    k

    Busca em largura (Breadth First Search - BFS)

    Busca em profundidade (Depth First Search - DFS)

  • 19

    Busca em profundidade

    O algoritmo de busca em profundidade tambm atribui cores a cada vrtice

  • 20

    Busca em profundidade

    2

    1 3

    4

    5

    6

    7

    Grafo inicial

  • 21

    Busca em profundidade (origem s=4)

    2

    1 3

    4

    5

    6

    7

    Pilha={4}

    0

    Indica tempo de visita

  • 22

    Busca em profundidade (origem s=4)

    2

    1 3

    4

    5

    6

    7

    Pilha={4,1}

    0

    1

  • 23

    Busca em profundidade (origem s=4)

    2

    1 3

    4

    5

    6

    7

    Pilha={4,1,2}

    0

    1

    2

  • 24

    Busca em profundidade (origem s=4)

    2

    1 3

    4

    5

    6

    7

    Pilha={4,1,2,7}

    0

    1

    2

    3

  • 25

    Busca em profundidade (origem s=4)

    2

    1 3

    4

    5

    6

    7

    Pilha={4,1,2}

    0

    1

    2

    3/4

  • 26

    Busca em profundidade (origem s=4)

    2

    1 3

    4

    5

    6

    7

    Pilha={4,1,2,5}

    0

    1

    2

    3/4

    5

  • 27

    Busca em profundidade (origem s=4)

    2

    1 3

    4

    5

    6

    7

    Pilha={4,1,2,5,3}

    0

    1

    2

    3/4

    5

    6

  • 28

    Busca em profundidade (origem s=4)

    2

    1 3

    4

    5

    6

    7

    Pilha={4,1,2,5,3,6}

    0

    1

    2

    3/4

    5

    6 7

  • 29

    Busca em profundidade (origem s=4)

    2

    1 3

    4

    5

    6

    7

    Pilha={4,1,2,5,3}

    0

    1

    2

    3/4

    5

    6 7/8

  • 30

    Busca em profundidade (origem s=4)

    2

    1 3

    4

    5

    6

    7

    Pilha={4,1,2,5}

    0

    1

    2

    3/4

    5

    6/9 7/8

  • 31

    Busca em profundidade (origem s=4)

    2

    1 3

    4

    5

    6

    7

    Pilha={4,1,2}

    0

    1

    2

    3/4

    5/10

    6/9 7/8

  • 32

    Busca em profundidade (origem s=4)

    2

    1 3

    4

    5

    6

    7

    Pilha={4,1}

    0

    1

    2/11

    3/4

    5/10

    6/9 7/8

  • 33

    Busca em profundidade (origem s=4)

    2

    1 3

    4

    5

    6

    7

    Pilha={4}

    0

    1/12

    2/11

    3/4

    5/10

    6/9 7/8

  • 34

    Busca em profundidade (origem s=4)

    2

    1 3

    4

    5

    6

    7

    Pilha={}

    0/13

    1/12

    2/11

    3/4

    5/10

    6/9 7/8

    Indica tempo de visita

  • 35

    Busca em largura (Algoritmo)

    Constantes:BRANCO, CINZA, PRETO, INFINITO

    Variveis:P (Pilha) , s (vrtice de origem)

    Propriedades do vrtice v:v.cor (cor do vrtice)v.t1 (tempo de visita inicial do vrtice v)v.t2 (tempo de visita final do vrtice v)

    Funes :Insere(P,v): permite inserir o vrtice v na pilha P.Remove(P): permite remover um vrtice do topo da pilha P.Topo(P): devolve o vrtice do topo da pilha P.

  • 36

    Busca em profundidade (Depth First Search)DFS(G,s): Para cada vrtice v em G.V-{s} faa v.cor = BRANCO v.t1 = INFINITO v.t2 = INFINITO tempo = 0 s.cor = CINZA s.t1 = tempo P = VAZIO Insere(P,s)

    Enquanto P VAZIO faa u = Topo(P) Se u tem pelo menos um vrtice adjacente BRANCO v = escolhe um dos vrtices adjacentes com v.cor=BRANCO v.cor = CINZA tempo = tempo+1 v.t1 = tempo Insere(P,v) Caso-contrrio u.cor = PRETO tempo = tempo+1 v.t2 = tempo Remove(P)

  • 37

    Percorre o grafo

    Inicializao

    Busca em profundidade (Depth First Search)DFS(G,s): Para cada vrtice v em G.V-{s} faa v.cor = BRANCO v.t1 = INFINITO v.t2 = INFINITO tempo = 0 s.cor = CINZA s.t1 = tempo P = VAZIO Insere(P,s)

    Enquanto P VAZIO faa u = Topo(P) Se u tem pelo menos um vrtice adjacente BRANCO v = escolhe um dos vrtices adjacentes com v.cor=BRANCO v.cor = CINZA tempo = tempo+1 v.t1 = tempo Insere(P,v) Caso-contrrio u.cor = PRETO tempo = tempo+1 v.t2 = tempo Remove(P)

  • 38

    Inicializao

    Busca em profundidade (Depth First Search) Para cada vrtice v em G.V-{s} faa v.cor = BRANCO v.t1 = INFINITO v.t2 = INFINITO tempo = 0 s.cor = CINZA s.t1 = tempo P = VAZIO Insere(P,s)

    2

    1 3

    4

    5

    6

    7P={4}

    0

  • 39

    Percorre o grafo

    Busca em profundidade (Depth First Search)

    Enquanto P VAZIO faa u = Topo(P) Se u tem pelo menos um vrtice adjacente BRANCO v = escolhe um dos vrtices adjacentes com v.cor=BRANCO v.cor = CINZA tempo = tempo+1 v.t1 = tempo Insere(P,v) Caso-contrrio u.cor = PRETO tempo = tempo+1 v.t2 = tempo Remove(P)

    2

    1 3

    4

    5

    6

    7Pilha={4,1}

    0

    1

    Iterao 1

    2

    1 3

    4

    5

    6

    7Pilha={4}

    0Inicializao

  • 40

    Percorre o grafo

    Busca em profundidade (Depth First Search)

    Enquanto P VAZIO faa u = Topo(P) Se u tem pelo menos um vrtice adjacente BRANCO v = escolhe um dos vrtices adjacentes com v.cor=BRANCO v.cor = CINZA tempo = tempo+1 v.t1 = tempo Insere(P,v) Caso-contrrio u.cor = PRETO tempo = tempo+1 v.t2 = tempo Remove(P)

    2

    1 3

    4

    5

    6

    7

    Pilha={4,1,2}

    0

    1

    2

    Iterao 2

  • 41

    Percorre o grafo

    Busca em profundidade (Depth First Search)

    Enquanto P VAZIO faa u = Topo(P) Se u tem pelo menos um vrtice adjacente BRANCO v = escolhe um dos vrtices adjacentes com v.cor=BRANCO v.cor = CINZA tempo = tempo+1 v.t1 = tempo Insere(P,v) Caso-contrrio u.cor = PRETO tempo = tempo+1 v.t2 = tempo Remove(P)

    2

    1 3

    4

    5

    6

    7

    Pilha={4,1,2,7}

    0

    1

    2

    3

    Iterao 3

  • 42

    Percorre o grafo

    Busca em profundidade (Depth First Search)

    Enquanto P VAZIO faa u = Topo(P) Se u tem pelo menos um vrtice adjacente BRANCO v = escolhe um dos vrtices adjacentes com v.cor=BRANCO v.cor = CINZA tempo = tempo+1 v.t1 = tempo Insere(P,v) Caso-contrrio u.cor = PRETO tempo = tempo+1 v.t2 = tempo Remove(P)

    2

    1 3

    4

    5

    6

    7

    0

    1

    2

    3/4

    Iterao 4Pilha={4,1,2}

  • 43

    Busca em profundidade

    O algoritmo anterior pode ser transformado em uma verso RECURSIVA.

    O algoritmo recursivo, uma variante que simplifica o uso da estrutura de pilha (P).

  • 44

    Recursividade

    Uma funo (programa) recursivo uma funo que se chama a si mesma.

  • 45

    Recursividade

    Recursividade uma das coisas mgicas e interessantes em Programao.

  • 46

    Recursividade

    Anuncio com uma imagem recursiva.

  • 47

    Recursividade

    def contagem_regressiva(n): if n==0: print "Fogo!" else: print n contagem_regressiva(n-1)

  • 48

    Recursividade

    Porque no usar Iterao ao invs de RecursividadeDepende muito do estilo de programao. Entretanto, algumas vezes mais apropriado usar Recursividade para resolver um problema.Normalmente mais fcil de programar e entender um programa recursivo

    def contagem_regressiva(n): if n==0: print "Fogo!" else: print n contagem_regressiva(n-1)

    def contagem_regressiva2(n): while n>0: print n n = n-1 print "Fogo!"

  • 49

    Recursividade

    def fact(n): if n==1: return 1 else: return n*fact(n-1)

  • 50

    Percorre o grafo

    Inicializao

    Busca em profundidade (verso recursiva)

    DFS(G,s): Para cada vrtice v em G.V-{s} faa v.cor = BRANCO v.t1 = INFINITO v.t2 = INFINITO tempo = 0 VisitaDFS(G,s)

    VisitaDFS(G,s): s.t1 = tempo s.cor = CINZA tempo = tempo+1 Para cada v em G.Adj[s] faa Se v.cor == BRANCO VisitaDFS(G,v) s.cor = PRETO s.t2 = tempo tempo = tempo+1

  • 51

    Percorre o grafo

    Busca em profundidade (verso recursiva)

    VisitaDFS(G,s): s.t1 = tempo s.cor = CINZA tempo = tempo+1 Para cada v em G.Adj[s] faa Se v.cor == BRANCO VisitaDFS(G,v) s.cor = PRETO s.t2 = tempo tempo = tempo+1

    2

    1 3

    4

    5

    6

    7

    0

    s=4

    tempo=0

  • 52

    Percorre o grafo

    Busca em profundidade (verso recursiva)

    VisitaDFS(G,s): s.t1 = tempo s.cor = CINZA tempo = tempo+1 Para cada v em G.Adj[s] faa Se v.cor == BRANCO VisitaDFS(G,v) s.cor = PRETO s.t2 = tempo tempo = tempo+1

    2

    1 3

    4

    5

    6

    7

    0

    s=4

    tempo=0

  • 53

    Percorre o grafo

    Busca em profundidade (verso recursiva)

    VisitaDFS(G,s): s.t1 = tempo s.cor = CINZA tempo = tempo+1 Para cada v em G.Adj[s] faa Se v.cor == BRANCO VisitaDFS(G,v) s.cor = PRETO s.t2 = tempo tempo = tempo+1

    2

    1 3

    4

    5

    6

    7

    0

    s=4

    tempo=1

  • 54

    Percorre o grafo

    Busca em profundidade (verso recursiva)

    VisitaDFS(G,s): s.t1 = tempo s.cor = CINZA tempo = tempo+1 Para cada v em G.Adj[s] faa Se v.cor == BRANCO VisitaDFS(G,v) s.cor = PRETO s.t2 = tempo tempo = tempo+1

    2

    1 3

    4

    5

    6

    7

    0

    s=4

    tempo=2

    v=1

  • 55

    Percorre o grafo

    Busca em profundidade (verso recursiva)

    VisitaDFS(G,s): s.t1 = tempo s.cor = CINZA tempo = tempo+1 Para cada v em G.Adj[s] faa Se v.cor == BRANCO VisitaDFS(G,v) s.cor = PRETO s.t2 = tempo tempo = tempo+1

    2

    1 3

    4

    5

    6

    7

    0

    s=4

    tempo=3

    v=1

  • 56

    Percorre o grafo

    Busca em profundidade (verso recursiva)

    VisitaDFS(G,s): s.t1 = tempo s.cor = CINZA tempo = tempo+1 Para cada v em G.Adj[s] faa Se v.cor == BRANCO VisitaDFS(G,v) s.cor = PRETO s.t2 = tempo tempo = tempo+1

    2

    1 3

    4

    5

    6

    7

    0

    1

    2

    3

    s=7

    tempo=4

    Aps alguns chamados recursivos...

  • 57

    Percorre o grafo

    Busca em profundidade (verso recursiva)

    VisitaDFS(G,s): s.t1 = tempo s.cor = CINZA tempo = tempo+1 Para cada v em G.Adj[s] faa Se v.cor == BRANCO VisitaDFS(G,v) s.cor = PRETO s.t2 = tempo tempo = tempo+1

    2

    1 3

    4

    5

    6

    7

    0

    1

    2s=7

    tempo=4

    Aps alguns chamados recursivos...

    3

  • 58

    Percorre o grafo

    Busca em profundidade (verso recursiva)

    VisitaDFS(G,s): s.t1 = tempo s.cor = CINZA tempo = tempo+1 Para cada v em G.Adj[s] faa Se v.cor == BRANCO VisitaDFS(G,v) s.cor = PRETO s.t2 = tempo tempo = tempo+1

    2

    1 3

    4

    5

    6

    7

    0

    1

    2s=7

    tempo=4

    Aps alguns chamados recursivos...

    3

  • 59

    Percorre o grafo

    Busca em profundidade (verso recursiva)

    VisitaDFS(G,s): s.t1 = tempo s.cor = CINZA tempo = tempo+1 Para cada v em G.Adj[s] faa Se v.cor == BRANCO VisitaDFS(G,v) s.cor = PRETO s.t2 = tempo tempo = tempo+1

    2

    1 3

    4

    5

    6

    7

    0

    1

    2s=7

    tempo=5

    Aps alguns chamados recursivos...

    3/4

  • 60

    Percorre o grafo

    Busca em profundidade (verso recursiva)

    VisitaDFS(G,s): s.t1 = tempo s.cor = CINZA tempo = tempo+1 Para cada v em G.Adj[s] faa Se v.cor == BRANCO VisitaDFS(G,v) s.cor = PRETO s.t2 = tempo tempo = tempo+1

    2

    1 3

    4

    5

    6

    7

    0

    1

    2s=7

    tempo=5

    Aps alguns chamados recursivos...

    3/4

  • 61

    Percorre o grafo

    Busca em profundidade (verso recursiva)

    VisitaDFS(G,s): s.t1 = tempo s.cor = CINZA tempo = tempo+1 Para cada v em G.Adj[s] faa Se v.cor == BRANCO VisitaDFS(G,v) s.cor = PRETO s.t2 = tempo tempo = tempo+1

    2

    1 3

    4

    5

    6

    7

    0

    1

    2s=5

    tempo=5

    Aps alguns chamados recursivos...

    3/4

  • 62

    Percorre o grafo

    Busca em profundidade (verso recursiva)

    VisitaDFS(G,s): s.t1 = tempo s.cor = CINZA tempo = tempo+1 Para cada v em G.Adj[s] faa Se v.cor == BRANCO VisitaDFS(G,v) s.cor = PRETO s.t2 = tempo tempo = tempo+1

    2

    1 3

    4

    5

    6

    7

    0

    1

    2s=5

    tempo=5

    Aps alguns chamados recursivos...

    3/4

  • 63

    Percorre o grafo

    Busca em profundidade (verso recursiva)

    VisitaDFS(G,s): s.t1 = tempo s.cor = CINZA tempo = tempo+1 Para cada v em G.Adj[s] faa Se v.cor == BRANCO VisitaDFS(G,v) s.cor = PRETO s.t2 = tempo tempo = tempo+1

    2

    1 3

    4

    5

    6

    7

    0

    1

    2s=5

    tempo=5

    Aps alguns chamados recursivos...

    3/4

    5

  • 64

    Percorre o grafo

    Busca em profundidade (verso recursiva)

    VisitaDFS(G,s): s.t1 = tempo s.cor = CINZA tempo = tempo+1 Para cada v em G.Adj[s] faa Se v.cor == BRANCO VisitaDFS(G,v) s.cor = PRETO s.t2 = tempo tempo = tempo+1

    2

    1 3

    4

    6

    7

    0

    1

    2s=5

    tempo=6

    Aps alguns chamados recursivos...

    3/4

    55

  • 65

    Para grafos direcionados

  • 66

    Para grafos direcionados

  • 67

    Para grafos direcionados

  • 68

    Para grafos direcionados

  • 69

    Para grafos direcionados

  • 70

    Para grafos direcionados

  • 71

    Para grafos direcionados

  • 72

    Para grafos direcionados

  • 73

    Para grafos direcionados

  • 74

    Para grafos direcionados

  • 75

    Para grafos direcionados

  • 76

    Para grafos direcionados

  • 77

    Inicializao

    Inicializao

    Busca em profundidade (verso recursiva)

    DFS(G,s): Para cada vrtice v em G.V-{s} faa v.cor = BRANCO v.t1 = INFINITO v.t2 = INFINITO tempo = 0 VisitaDFS(G,s)

    DFS(G): Para cada vrtice v em G.V faa v.cor = BRANCO v.t1 = INFINITO v.t2 = INFINITO tempo = 0 Para cada vrtice u em G.V faa se u.cor==BRANCO VisitaDFS(G,u)

    // Esta nova funo permite percorrer todos os elementos do grafo.

    // Esta funo permite percorrer os elementos da componente conexa contendo s.

  • 78

    Para grafos direcionados

  • 79

    Para grafos direcionados

  • 80

    Para grafos direcionados

  • 81

    Para grafos direcionados

  • 82

    Para grafos direcionados

  • 83

    Para grafos direcionados

  • 84

    Ordenao 'topologica'

  • 85

    Ordenao 'topologica'

  • 86

    Ordenao 'topologica'

    A ordenao topologica (de um grafo direcionado) uma ordem linear de seus vrtices em que:

    Cada aresta direcionada uv (do vrtice u ao vrtice v), o vrtice u vem antes do vrtice v na ordenao.

    Podem existir uma ou mais ordenaes topolgicas.

    u v

  • 87

    Ordenao 'topologica'

    BCC

    PI

    CR

    BMat

    NI

    BExp

    TQui

    Obrig

    Optat

  • 88

    Ordenao 'topologica'

    BCC

    PI

    CR

    BMat

    NI

    BExp

    TQui

    Obrig

    Optat

    1

  • 89

    Ordenao 'topologica'

    BCC

    PI

    CR

    BMat

    NI

    BExp

    TQui

    Obrig

    Optat

    1

    2

  • 90

    Ordenao 'topologica'

    BCC

    PI

    CR

    BMat

    NI

    BExp

    TQui

    Obrig

    Optat

    1

    2/3

  • 91

    Ordenao 'topologica'

    BCC

    PI

    CR

    BMat

    NI

    BExp

    TQui

    Obrig

    Optat

    1/4

    2/3

  • 92

    Ordenao 'topologica'

    BCC

    PI

    CR

    BMat

    NI

    BExp

    TQui

    Obrig

    Optat

    1/4

    2/3

    5

  • 93

    Ordenao 'topologica'

    BCC

    PI

    CR

    BMat

    NI

    BExp

    TQui

    Obrig

    Optat

    1/4

    2/3

    5

    6

  • 94

    Ordenao 'topologica'

    BCC

    PI

    CR

    BMat

    NI

    BExp

    TQui

    Obrig

    Optat

    1/4

    2/3

    5

    6

    7

  • 95

    Ordenao 'topologica'

    BCC

    PI

    CR

    BMat

    NI

    BExp

    TQui

    Obrig

    Optat

    1/4

    2/3

    5

    6

    7

    8

  • 96

    Ordenao 'topologica'

    BCC

    PI

    CR

    BMat

    NI

    BExp

    TQui

    Obrig

    Optat

    1/4

    2/3

    5

    6

    7

    8/9

  • 97

    Ordenao 'topologica'

    BCC

    PI

    CR

    BMat

    NI

    BExp

    TQui

    Obrig

    Optat

    1/4

    2/3

    5

    6

    7/10

    8/9

  • 98

    Ordenao 'topologica'

    BCC

    PI

    CR

    BMat

    NI

    BExp

    TQui

    Obrig

    Optat

    1/4

    2/3

    5

    6/11

    7/10

    8/9

  • 99

    Ordenao 'topologica'

    BCC

    PI

    CR

    BMat

    NI

    BExp

    TQui

    Obrig

    Optat

    1/4

    2/3

    5/12

    6/11

    7/10

    8/9

  • 100

    Ordenao 'topologica'

    BCC

    PI

    CR

    BMat

    NI

    BExp

    TQui

    Obrig

    Optat

    1/4

    2/3

    5/12

    6/11

    7/10

    8/9

    13

  • 101

    Ordenao 'topologica'

    BCC

    PI

    CR

    BMat

    NI

    BExp

    TQui

    Obrig

    Optat

    1/4

    2/3

    5/12

    6/11

    7/10

    8/9

    13/14

  • 102

    Ordenao 'topologica'

    BCC

    PI

    CR

    BMat

    NI

    BExp

    TQui

    Obrig

    Optat

    1/4

    2/3

    5/12

    6/11

    7/10

    8/9

    13/1415

  • 103

    Ordenao 'topologica'

    BCC

    PI

    CR

    BMat

    NI

    BExp

    TQui

    Obrig

    Optat

    1/4

    2/3

    5/12

    6/11

    7/10

    8/9

    13/1415

    16

  • 104

    Ordenao 'topologica'

    BCC

    PI

    CR

    BMat

    NI

    BExp

    TQui

    Obrig

    Optat

    1/4

    2/3

    5/12

    6/11

    7/10

    8/9

    13/1415

    16/17

  • 105

    Ordenao 'topologica'

    BCC

    PI

    CR

    BMat

    NI

    BExp

    TQui

    Obrig

    Optat

    1/4

    2/3

    5/12

    6/11

    7/10

    8/9

    13/1415/18

    16/17

    BExp TQui Optat

    13/1415/18 16/17

    BCC

    5/12

    PI CR

    6/11 7/10

    Obrig

    8/9

    BMat NI

    1/4 2/3

    Ordenado pelo tempo de visita 2(ordem descendente)

  • 106

    III. Atividade Prtica

  • 107

    Atividade PrticaPara os grafos G e H abaixo, execute a busca em profundidade a partir do vrtice 1:

    (a) Dando preferncia para vrtices de menor ndice.(b) Dando preferncia para vrtices de maior ndice.

    Para cada exerccio indique a sequncia de vrtices visitados.

    G H

  • 108

    Atividade Prtica: Gabarito

    Grafo G:(a) Dando preferncia para vrtices de menor ndice.

    (b) Dando preferncia para vrtices de maior ndice.

    Grafo H:(a) Dando preferncia para vrtices de menor ndice.

    (b) Dando preferncia para vrtices de maior ndice.

    First Slide ExampleSlide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Slide 37Slide 38Slide 39Slide 40Slide 41Slide 42Slide 43Slide 44Slide 45Slide 46Slide 47Slide 48Slide 49Slide 50Slide 51Slide 52Slide 53Slide 54Slide 55Slide 56Slide 57Slide 58Slide 59Slide 60Slide 61Slide 62Slide 63Slide 64Slide 65Slide 66Slide 67Slide 68Slide 69Slide 70Slide 71Slide 72Slide 73Slide 74Slide 75Slide 76Slide 77Slide 78Slide 79Slide 80Slide 81Slide 82Slide 83Slide 84Slide 85Slide 86Slide 87Slide 88Slide 89Slide 90Slide 91Slide 92Slide 93Slide 94Slide 95Slide 96Slide 97Slide 98Slide 99Slide 100Slide 101Slide 102Slide 103Slide 104Slide 105Slide 106Slide 107Slide 108