def read_net(file_net): net = Grafo() vertices = {} edges = {} with open(file_net, 'rb') as csvfile: spamreader = csv.reader(csvfile, delimiter=' ') for row in spamreader: v1 = int(row[0]) v2 = int(row[1]) weight = int(row[2]) vertices[v1] = v1 vertices[v2] = v2 edges[(v1,v2)] = weight for k in vertices.keys(): net.agregarVertice(k) for t in edges.keys(): net.agregarArista(t[0], t[1], edges[t]) return net
def crearInternet(path): grafo = Grafo() with open(path, encoding="utf8") as direccion: archivo = csv.reader(direccion, delimiter="\t") for fila in archivo: for i, elemento in enumerate(fila): if (i == 0): vertice = elemento grafo.agregarVertice(elemento) with open(path, encoding="utf8") as direccion: archivo = csv.reader(direccion, delimiter="\t") for fila in archivo: for i, elemento in enumerate(fila): if (i == 0): vertice = elemento else: grafo.agregarArista(vertice, elemento) return grafo
def construct_grafo_pesado(): grafo = Grafo() grafo.agregarVertice('s') grafo.agregarVertice('A') grafo.agregarVertice('B') grafo.agregarVertice('C') grafo.agregarVertice('D') grafo.agregarVertice('t') grafo.agregarArista('s', 'A', 5) grafo.agregarArista('s', 'B', 2) grafo.agregarArista('A', 'C', 10) grafo.agregarArista('A', 'B', 3) grafo.agregarArista('B', 'C', 4) grafo.agregarArista('B', 'D', 1) grafo.agregarArista('C', 'D', 2) grafo.agregarArista('C', 't', 1) grafo.agregarArista('D', 't', 8) return grafo
def construct_grafo_no_pesado(): grafo = Grafo() grafo.agregarVertice('s') grafo.agregarVertice('A') grafo.agregarVertice('B') grafo.agregarVertice('C') grafo.agregarVertice('D') grafo.agregarVertice('t') grafo.agregarArista('s', 'A') grafo.agregarArista('s', 'B') grafo.agregarArista('A', 'C') grafo.agregarArista('A', 'B') grafo.agregarArista('B', 'C') grafo.agregarArista('B', 'D') grafo.agregarArista('C', 'D') grafo.agregarArista('C', 't') grafo.agregarArista('D', 't') return grafo