Escolar Documentos
Profissional Documentos
Cultura Documentos
1 Resumo
Pretende-se com esse trabalho aprender de forma teórica os conceitos de
grafos aprendidos de forma prática no decorrer da disciplina Teoria dos Grafos,
trazendo os conceitos de Busca em Profundidade e Busca em Largura, aplicados
em grafos implementados por matriz de adjacência e lista de adjacência.
2 Introdução
Esse trabalho tem o intuito de estudar os algoritmos de busca em grafos, quais
são elas, sua complexidade, gasto de memória, tempo de execução entre outros
fatores que façam a medição dos algoritmos em questão.
3 Conceitos
3.1 Caminhamento
De acordo com Goodrich and Tamassia, Um caminhamento é um procedi-
mento sistemático para explorar um grafo examinando todos os seus vértices e
arestas.Um caminhamento é eficiente se ele visita todos os vértices e as arestas
em tempo proporcional a seu número, ou seja, em tempo linear.
4 Busca em Grafos
4.1 Busca em Profundidade
É um caminhamento feito através do primeiro vértice até a último vértice al-
cançável e quando chega-se ao último, volta-se através da técnica de backtrack-
ing, utilizando a stack do sistema, já que ao se fazer o caminho é armazenado
quais os vértices foram visitados.
1
A complexidade de tempo é O(V + E) pois a inicialização custa Θ(V ) e o
tamanho da lista percorrida é O(E).
Por ser um algoritmo que caminha através dos próximos vértices que estão
diretamente ligados ao nó de origem, vizinhos ao vértice em que se está, o
caminho criado é chamado de caminho mı́nimo em um grafo não dirigido. Serve
como base para outros algoritmos em grafo.
2
A dificuldade esteve em entender como funcionava o passo a passo da fila
para enfileirar e desenfileirar a lista de vértices adjacentes e fazer funcionar para
as duas implementações, sendo elas, matriz e lista de adjacências.
BFS(G,s)
for cada vertice u ← V {G}
do
cor[u] ← BRAN CO
d[u] ← ∞
α[u] ← N ull
end
cor[u] ← CIN ZA
d[u] ← ∞
α[u] ← N ull
Q ← 0 EN QU EU E(Q, s)
while Q 6= 0 do
u ← DEQU EU E(Q)
for v ← Adj[u]
if cor[u] == BRAN CO
then
cor[u] ← CIN ZA
current section becomes this one;
end
do
cor[u] ← P RET O
end
end
Algorithm 2: Busca em Largura
References
Michael T Goodrich and Roberto Tamassia. Projeto de algoritmos: fundamen-
tos, análise e exemplos da internet. Bookman Editora, 2009.
TH Cormen, T Leiserson, R Rivest, and C Stein. Algoritmos: Tradução da
segunda edição americana, 2002.