Escolar Documentos
Profissional Documentos
Cultura Documentos
ao e Redes
1a Lista de exerccios
1. Desenhe o grafo completo em 6 vertices (vamos chama-lo de grafo G). Entao
responda:
(a) Qual e a ordem e o tamanho de G?
(b) Qual e o grau dos vertices de G?
(c) O grafo completo em 5 vertices e subgrafo de G? Explique.
(d) O grafo completo em 4 vertices e subgrafo de G? Explique.
(e) O grafo completo em 3 vertices e subgrafo de G? Explique.
(f) Qual e a conexidade de vertices de G?
(g) Qual e a conexidade de arestas de G?
2. Para os grafos da Figura 1, determine:
(a) a ordem;
(b) o tamanho;
(c) o diametro;
(d) o conjunto V e A do grafo da Figura 1 (b);
(e) existe caminho euleriano? Se sim, indique o caminho.
0
11
5
10
9
(a)
5
(b)
0
4
5
6
8
7
2
(c)
Figura 1:
3. Construa a matriz de adjacencias e a lista de adjacencias para os grafos da Figura 1.
4. Analise cada matriz de adjacencias abaixo e responda para cada uma delas:
(a) o grafo e orientado ou nao-orientado?
1
0
1
2
3
0
2
2
2
2
0
2
0
2
2
0
2
2
0
2
2
0
1
2
3
4
0
0
4
0
0
2
0
5
0
0
0
0
0
0
2
0
3
4
0
0
6
0
0
3
0
0
1
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
Pseudo-c
odigo da BFS
Considere um grafo G = (V, A), um vertice inicial s e uma fila Q inicialmente vazia:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
BFS(G, s):
para vertice u em V faca
u.visitado = False
u.d =
// armazena o nvel dos vertices
u.p = None
// armazena o pai do vertice na arvore gerada pela BFS
s.visitado = True
s.d = 0
enfileira(Q, s)
enquanto tamanho(Q) > 0 faca
u = desenfileira(Q)
para vertice v adjacente a u faca
se n
ao v.visitado ent
ao
v.d = u.d + 1
v.p = u
v.visitado = True
enfileira(Q, v)
Pseudo-c
odigo da DFS
Considere um grafo G = (V, A), um vertice inicial u e uma pilha S inicialmente
vazia:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
DFS(G, u, cont=0):
para vertice v em V faca
v.visitado = False
v.d =
// armazena a ordem que o vertice foi visitado
v.p = None
// armazena o pai do vertice na arvore gerada pela DFS
empilha(S, u)
enquanto tamanho(S) > 0 faca
v = desempilha(S)
se n
ao v.visitado ent
ao
v.visitado = True
v.d = cont
cont = cont+1
para vertice w adjacente a v faca
empilha(S, w)