コード例 #1
0
 def test_save_and_load_json(self):
     graph = self.create_graph()
     g1_algo = GraphAlgo(graph)
     g1_algo.save_to_json("Test.json")
     g2_algo = GraphAlgo()
     g2_algo.load_from_json("Test.json")
     self.assertTrue(g1_algo.graph.__eq__(g2_algo.graph))
     self.assertEqual(g1_algo.graph.v_size(), g2_algo.graph.v_size())
     self.assertEqual(g1_algo.graph.e_size(), g2_algo.graph.e_size())
     g2_algo.graph.remove_node(3)
     self.assertNotEqual(g1_algo.graph.v_size(), g2_algo.graph.v_size())
     self.assertNotEqual(g1_algo.graph.e_size(), g2_algo.graph.e_size())
コード例 #2
0
def check1():
    """
       This function tests the naming (main methods of the GraphAlgo class, as defined in GraphAlgoInterface.
    :return:
    """
    g_algo = GraphAlgo()  # init an empty graph - for the GraphAlgo
    file = '../data/T0.json'
    g_algo.load_from_json(file)  # init a GraphAlgo from a json file
    print(g_algo.connected_components())
    print(g_algo.shortest_path(0, 3))
    print(g_algo.shortest_path(3, 1))
    g_algo.save_to_json(file + "_aved")
    g_algo.plot_graph()
コード例 #3
0
def build_G_30000_240000_0():
    algo = GraphAlgo()
    st = time.time()
    flag = algo.load_from_json("../data/G_30000_240000_0.json")
    if flag:
        print("successfully construction from \"G_30000_240000_0.json\" run time: ", round(time.time() - st, 3), " sec")
        st = time.time()
        algo.shortest_path(0, 4)
        print("shortest_path 0 -->> 4 run time: ", round(time.time() - st, 3), " sec")
        """
コード例 #4
0
def check2():
    """ This function tests the naming, basic testing over A5 json file.
      :return:
      """
    g_algo = GraphAlgo()
    file = '../data/A5'
    g_algo.load_from_json(file)
    g_algo.get_graph().remove_edge(13, 14)
    g_algo.save_to_json(file + "_edited")
    dist, path = g_algo.shortest_path(1, 7)
    print(dist, path)
    dist, path = g_algo.shortest_path(47, 19)
    print(dist, path)
    dist, path = g_algo.shortest_path(20, 2)
    print(dist, path)
    dist, path = g_algo.shortest_path(2, 20)
    print(dist, path)
    print(g_algo.connected_component(0))
    print(g_algo.connected_components())
    g_algo.plot_graph()
コード例 #5
0
def build_G_20000_160000_0():
    algo = GraphAlgo()
    st = time.time()
    flag = algo.load_from_json("../data/G_20000_160000_0.json")
    if flag:
        print("successfully construction from \"G_20000_160000_0.json\" run time: ", round(time.time() - st, 3), " sec")
        st = time.time()
        algo.shortest_path(5000, 15250)
        print("shortest_path 5000 -->> 15250 run time: ", round(time.time() - st, 3), " sec")
        st = time.time()
        algo.connected_component(0)
        print("connected_component - node 0 run time: ", round(time.time() - st, 3), " sec")
        st = time.time()
        algo.connected_components()
        print("connected_components run time: ", round(time.time() - st, 3), " sec")