Example #1
0
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))
Example #2
0
 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]