1
Algoritmos e Estruturas de Dados II Lista de Exercícios
Cristina Dutra de Aguiar Ciferri Baseado no material de aula de Thiago A. S. Pardo M. Cristina de Oliveira Josiane M. Bueno Elaine P. M. de Souza
2
l Explique a diferença entre: – grafo cíclico e grafo acíclico – grafo ponderado e não ponderado – grafo direcionado e grafo não direcionado – subgrafo e subgrafo gerador – grafo conexo e grafo completo
l Explique a relação entre: – árvore e grafo – floresta e árvore
Exercício: Conceitos
3
l Defina os seguintes conceitos e apresente exemplos: – grafos isomorfos – complemento de um grafo não direcionado – grafo transposto de um grafo direcionado – grafo bipartido
Exercício: Conceitos
4
l Represente os grafos utilizando matrizes de adjacências.
Exercício: TAD
5
l Represente os grafos utilizando listas de adjacências.
Exercício: TAD
6 l Faça a busca em largura a partir do vértice a.
a b
c
d e
f
G
Exercício: Busca em Largura
7 l Faça a busca em largura a partir do vértice v3.
Exercício: Busca em Largura
8 l Faça a busca em profundidade a partir do
vértice a.
a b
c
d e
f
G
Exercício: Busca Profundidade
9 l Faça a busca em profundidade a partir do
vértice v3.
Exercício: Busca Profundidade
10 l Determine se o grafo é cíclico ou acíclico.
a b
c
d e
f
G
Exercício: Cíclico/Acíclico
11 l Calcule os caminhos mais curtos a partir do
vértice 0 aplicando o algoritmo de Dijkstra.
Exercício: Dijkstra
12 l Faça a ordenação topológica a partir do
vértice 2.
Exercício: Ordenação Topológica
13
l Encontre a árvore geradora mínima utilizando o algoritmo de Prim.
a b
c
d e
f
G
4 7
13
4 6
20 18
3
3 10
Exercício: Prim
14
Exercício: Kruskal
l Encontre a árvore geradora mínima utilizando o algoritmo de Kruskal.
a b
c
d e
f
G
4 7
13
4 6
20 18
3
3 10