Você está na página 1de 2

Código Fonte Grafo – Python

#Iniciar Grafo

def gerar_grafo(arestas):

grafo = defaultdict(list)

for v1, v2 in arestas:

if v2 not in grafo[v1]:

grafo[v1].append(v2)

return grafo

#Obter Vértices

def get_vertices(grafo):

return list(grafo.keys())

#Obter Arestas

def get_arestas(grafo):

return [(c, v)

for c in grafo.keys()

for v in grafo[c]]

#Verifica se existe uma aresta entre dois vértices

def existe_aresta(grafo, v1, v2):

return v1 in grafo and v2 in grafo[v1]

#Adicionar uma aresta entre dois vértices

def adiciona_aresta(grafo, v1, v2):

if v2 not in grafo[v1]:

grafo[v1].append(v2)

return grafo

arestas = [('A', 'B'), ('A', 'D'), ('B', 'C'), ('B', 'D'), ('B', 'E'), ('C', 'E'), ('D', 'E')]
grafo = gerar_grafo(arestas);

print(grafo)

print(get_vertices(grafo))

print(get_arestas(grafo))

if existe_aresta(grafo, 'A', 'C'):

print("Existe aresta")

else:

print("Não existe aresta")

Você também pode gostar