def challenge_2(): from_vert = sys.argv[2] to_vert = sys.argv[3] vertex_list = [] edges = [] counter = 0 with open(sys.argv[1], 'r') as f: #graph_data = f.readlines() for line in f: x = line.strip('()\n').split(',') # counter at 1 indicates the input list or the vert list if counter == 1: vertex_list = x counter += 1 # counter > 2 indicates the edges if counter > 2: edges.append(x) g = Graph() for vertex in vertex_list: g.add_vertex(vertex) for edge in edges: # print(edge) g.add_edge(edge[0], edge[1]) # print('{} {}'.format(from_vert, to_vert)) print(g.bfs(from_vert, to_vert))
def test_bfs_ssp(self): graph = Graph() a = Vertex(1) b = Vertex(2) c = Vertex(3) d = Vertex(4) e = Vertex(5) graph.add_vertex(a) graph.add_vertex(b) graph.add_vertex(c) graph.add_vertex(d) graph.add_vertex(e) graph.add_edge(a, b) graph.add_edge(a, d) graph.add_edge(b, c) graph.add_edge(b, e) graph.add_edge(c, e) assert graph.bfs(a, e) == [1, 2, 5]