Created
April 17, 2017 00:55
-
-
Save thbighead/72abed70c312462822c6565ae92bd3b4 to your computer and use it in GitHub Desktop.
Criador de grafos em representacao de matriz de adjacencias feito com Python
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def cria_grafo(lista_de_vertices, lista_de_arestas): | |
grafo = {} | |
for vertice in lista_de_vertices: | |
grafo[vertice] = [] | |
for aresta in lista_de_arestas: | |
grafo[aresta[0]].append(aresta[1]) | |
return grafo | |
lista_de_vertices = ['a', 'b', 'c', 'd', 'e', 'f'] | |
lista_de_arestas = [('a', 'b'), ('b', 'a'), ('b', 'c'), ('c', 'b'), ('c', 'e'), ('e', 'a'), ('e', 'b'), ('e', 'c'), ('e', 'd'), ('d', 'a'), ('d', 'e'), ('e', 'f'), ('f', 'e'), ('b', 'e'), ('a', 'd'), ('a', 'e')] | |
grafo = cria_grafo(lista_de_vertices, lista_de_arestas) |
neste caso não seria uma lista de adjacência?
Isso mesmo, talvez o autor tenha se confundido pois uma lista de lista (ou array de array) é chamado de matriz, mas se você der um print no "grafo" você vê uma list de adjacência!
Outro detalhe, o código acima cria uma lista de adjacência para grafos direcionados. Tomei a liberdade de caso queria usar um grafo não-direcionado, adicionar:
6 grafo[aresta[0]].append(aresta[1])
7 grafo[aresta[1]].append(aresta[0])
8 return grafo
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
neste caso não seria uma lista de adjacência?