예제 #1
0
def countConnectedComponents(catalog):
    """
    Retorna la cantidad de componentes conectados de un grafo.
    """
    grafo = catalog["flightGraph"]
    vertices = g.vertices(grafo)
    componentes_conectados = 0
    iterator = it.newIterator(vertices)
    while it.hasNext(iterator):
        element = it.next(iterator)
        if g.degree(grafo, element) > 0:
            componentes_conectados += 1
    return componentes_conectados
예제 #2
0
def countConnectedComponents(catalog):
    """
    Retorna la cantidad de componentes conectados de un grafo.

    Aquí en necesario usar DFS para saber cuántos están conectados y luego interar sobre este DFS para contarlos¿?
    """
    grafo = catalog["flightGraph"]
    vertices = g.vertices(grafo)
    componentes_conectados = 0
    iterator = it.newIterator(vertices)
    while it.hasNext(iterator):
        element = it.next(iterator)
        if g.degree(grafo, element) > 0:
            componentes_conectados += 1
    return componentes_conectados
예제 #3
0
    def test_addEdges(self):
        graph = g.newGraph(7, self.comparenames)

        g.insertVertex(graph, 'Bogota')
        g.insertVertex(graph, 'Yopal')
        g.insertVertex(graph, 'Cali')
        g.insertVertex(graph, 'Medellin')
        g.insertVertex(graph, 'Pasto')
        g.insertVertex(graph, 'Barranquilla')
        g.insertVertex(graph, 'Manizales')

        g.addEdge(graph, 'Bogota', 'Yopal')
        g.addEdge(graph, 'Bogota', 'Medellin')
        g.addEdge(graph, 'Bogota', 'Pasto')
        g.addEdge(graph, 'Bogota', 'Cali')
        g.addEdge(graph, 'Yopal', 'Medellin')
        g.addEdge(graph, 'Medellin', 'Pasto')
        g.addEdge(graph, 'Cali', 'Pasto')
        g.addEdge(graph, 'Cali', 'Barranquilla')
        g.addEdge(graph, 'Barranquilla', 'Manizales')
        g.addEdge(graph, 'Pasto', 'Manizales')

        self.assertEqual(g.numEdges(graph), 10)
        self.assertEqual(g.numVertex(graph), 7)

        lst = g.vertices(graph)
        self.assertEqual(lt.size(lst), 7)

        lst = g.edges(graph)
        self.assertEqual(lt.size(lst), 10)

        degree = g.degree(graph, 'Bogota')
        self.assertEqual(degree, 4)

        edge = g.getEdge(graph, 'Bogota', 'Medellin')

        lst = g.adjacents(graph, 'Bogota')
        self.assertEqual(lt.size(lst), 4)