Implementação de um Grafo, Busca por Largura e Busca por Profundidade
9 respostas
alangaro_si
Bom dia a todos.
Estou tentando umplementar um código Java e estou apanhando.
Não quero que ninguém faça o exercício pra mim.
Gostaria de algum exemplo simples de como implementar um grafo por lista de adjacência ou matriz de adjacência.
Não estou saindo do chão e algum exemplo seria de boa valia.
Obrigado a todos e ressalto que não quero que façam meu exercício.
Acredito estar no caminho.
Agora eu preciso fazer o que para poder realizar Buscas por Profundidade e Largura?
Algum exemplo seria ótimo (mas não quero que façam o exercício, ninguém faz isso)
Obrigado
alangaro_si
marcosharbs:
Da uma olhada no livro de estrutura de dados do Thomas Cormen,
ele mostra grafos e tem pseudo-código dos algoritmos para
você conseguir começar.
Vou buscar.
Obrigado.
marcosharbs
achei meio estranha sua matriz de adjacência
o conceito de matriz de adjacência em grafos é um
array bidimensional n x n onde n é o número de vértices do seu grafo
e se possui uma aresta entre n1 e n2 por exemplo a posição
da matriz que conincidirem a linha e a coluna você coloca 1
e se não tiver aresta você coloca 0, um exemplo abaixo de um grafo
com 3 vértices:
Nesse exemplo acima o grafo possui uma aresta entre os vértices v2 e v1 e outra entre os vértices v3 e v2.
alangaro_si
marcosharbs:
achei meio estranha sua matriz de adjacência
o conceito de matriz de adjacência em grafos é um
array bidimensional n x n onde n é o número de vértices do seu grafo
e se possui uma aresta entre n1 e n2 por exemplo a posição
da matriz que conincidirem a linha e a coluna você coloca 1
e se não tiver aresta você coloca 0, um exemplo abaixo de um grafo
com 3 vértices:
Vou dar uma olhada no livro e posto aqui alguma coisa.
Se alguém tiver algum exemplo será bem vindo.
marcosharbs
[email removido:
]
marcosharbs:
achei meio estranha sua matriz de adjacência
o conceito de matriz de adjacência em grafos é um
array bidimensional n x n onde n é o número de vértices do seu grafo
e se possui uma aresta entre n1 e n2 por exemplo a posição
da matriz que conincidirem a linha e a coluna você coloca 1
e se não tiver aresta você coloca 0, um exemplo abaixo de um grafo
com 3 vértices:
Vou dar uma olhada no livro e posto aqui alguma coisa.
Se alguém tiver algum exemplo será bem vindo.
Verdade olhei e achei que era o número dos vértices ali.
alangaro_si
Agora que tenho a Matriz de Adjacências, teoricamente seria só implementar um pseudo algoritmo não é verdade?
Ou tem algo mais que eu precise saber? Algo relacionado a árvores talvez?
marcosharbs
[email removido:
]Agora que tenho a Matriz de Adjacências, teoricamente seria só implementar um pseudo algoritmo não é verdade?
Ou tem algo mais que eu precise saber? Algo relacionado a árvores talvez?
Teoricamente é isso.
Uma árvore na verdade é um grafo, um tipo especial de grafo
que não possui ciclos.
E se você implementar uma busca em profundidade o algoritmo
vai gerar uma árvore de busca.
alangaro_si
Boa noite a todos novamente.
Vou postar o código que fiz até agora.
Se puderem me ajudar (mas não fazer o exercício).
Preciso fazer busca por largura e busca por profundidade.