def ex(g, i, f, f2): c = caminho() t = c.BFS2(g, i, f, f2) if t: print('N') else: print('S')
def ex(g, j): a = AGM() grafo, t = a.KruskalMSTT(g, j) # KruskalMSTDistancia(g, j) c = caminho() dist = c.DFS_VISITDengue(grafo, grafo.get_vertice(1), 0, 0) y = 0 print(dist)
def ex1(g, i, f): c = caminho() maior = c.BFS_Distancia(g, i, f) if maior != None: print(maior) else: print(0)
def ex1(g, i, f): c = caminho() l = c.BFS(g, i, f) if l: print("Lets que lets") else: print("Deu ruim")
def topologicalSort(self, g): c = caminho() if c.DFS(g): u = g.get_vertices() t = sorted(u, key=attrgetter('_f'), reverse=True) return t else: raise ("Topological sort not possible. Graph is not acyclic.") return None
def test(): print( 'Testando grafo de exemplo do livro Algoritmos 3rd (Cormen), página 480.' ) g = grafo(direcionado=True) g.inserir_vertice('a') g.inserir_vertice('b') g.inserir_vertice('c') g.inserir_vertice('d') g.inserir_vertice('e') g.inserir_aresta('a', 'b', 10) g.inserir_aresta('a', 'c', 5) g.inserir_aresta('b', 'd', 1) g.inserir_aresta('b', 'c', 2) g.inserir_aresta('c', 'b', 3) g.inserir_aresta('c', 'e', 2) g.inserir_aresta('c', 'd', 9) g.inserir_aresta('d', 'e', 4) g.inserir_aresta('e', 'a', 7) g.inserir_aresta('e', 'd', 6) d = dict() l = list() for i in g.get_vertices(): for j in i.get_vertices_adjacentes(): l.append(j.get_id()) d.update({i.get_id(): l.copy()}) l.clear() m = minimo() m.dijkstra(g, 'a') c = caminho() # c.BFS(g, 'd') v = g.get_vertice('a') w = g.get_vertice('e') q = list() q.append(w.get_id()) distancia = w.get_distancia() # while w.get_anterior() != None: # q.append(w.get_anterior().get_id()) # w = w.get_anterior() print('O menor caminho é:' + str(caminho_min(w)) + 'com custo: ' + str(distancia))
def ex(g, i, f): if g.get_vertice(f): c = caminho() t = c.BFS(g, i, f) if len(t) > 1: t.sort() q = t[0] for i in t: if i > q: print(i) break else: print(-1) else: print(-1)
def componetesConexos(self, g): if not self.is_Cyclic(g): return False c = caminho() c.DFS_VISIT1(g, g.get_vertice('1'), 0) for i in g.get_vertices(): if not i.get_visitado(): return False grafoT = self.__grafoTransitivo(g) c.DFS_VISIT1(grafoT, grafoT.get_vertice('1'), 0) for i in grafoT.get_vertices(): if not i.get_visitado(): return False return True
def ex(g, i, f): c = caminho() t = c.DFS_Bomba(g, g.get_vertice(i), f, 0, 0) print(t)
def teste(g): c = caminho() c.BFSS(g, '1')
def ex(g): c = caminho() c.DFS_VISIT_Dinheros(g, g.get_vertice(1), 0) print(g.distancia)
def ex1(g): c = caminho() l = c.allBrigdges(g) print(l)
def ex1(g, s, f, p): c = caminho() t = c.BFS_Proibido(g, s, f, p) print(t)
def __init__(self): self.c = caminho() super().__init__()