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)
Пример #3
0
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")
Пример #5
0
 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
Пример #6
0
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))
Пример #7
0
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)
Пример #8
0
    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
Пример #9
0
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)
Пример #14
0
 def __init__(self):
     self.c = caminho()
     super().__init__()