edges = [[0, 1, 807], [0, 3, 1331], [0, 5, 2097], [1, 0, 807], [1, 2, 381], [1, 3, 1267], [2, 1, 381], [2, 3, 1015], [2, 4, 1663], [2, 10, 1435], [3, 0, 1331], [3, 1, 1267], [3, 2, 1015], [3, 4, 599], [3, 5, 1003], [4, 2, 1663], [4, 3, 599], [4, 5, 533], [4, 7, 1260], [4, 8, 864], [4, 10, 496], [5, 0, 2097], [5, 3, 1003], [5, 4, 533], [5, 6, 983], [5, 7, 787], [6, 5, 983], [6, 7, 214], [7, 4, 1260], [7, 5, 787], [7, 6, 214], [7, 8, 888], [8, 4, 864], [8, 7, 888], [8, 9, 661], [8, 10, 781], [8, 11, 810], [9, 8, 661], [9, 11, 1187], [10, 2, 1435], [10, 4, 496], [10, 8, 781], [10, 11, 239], [11, 8, 810], [11, 9, 1187], [11, 10, 239]] # Create a graph graph1 = WeightedGraph(vertices, edges) # Obtain a minimum spanning tree tree1 = graph1.getMinimumSpanningTree() print("Total weight is " + str(tree1.getTotalWeight())) tree1.printTree() # Create vertices and edges vertices = [x for x in range(5)] edges = [[0, 1, 2], [0, 3, 8], [1, 0, 2], [1, 2, 7], [1, 3, 3], [2, 1, 7], [2, 3, 4], [2, 4, 5], [3, 0, 8], [3, 1, 3], [3, 2, 4], [3, 4, 6], [4, 2, 5], [4, 3, 6]] # Create a graph graph2 = WeightedGraph(vertices, edges) # Obtain a minimum spanning tree tree2 = graph2.getMinimumSpanningTreeAt(1) print("Total weight is " + str(tree2.getTotalWeight()))
[5, 0, 2097], [5, 3, 1003], [5, 4, 533], [5, 6, 983], [5, 7, 787], [6, 5, 983], [6, 7, 214], [7, 4, 1260], [7, 5, 787], [7, 6, 214], [7, 8, 888], [8, 4, 864], [8, 7, 888], [8, 9, 661], [8, 10, 781], [8, 11, 810], [9, 8, 661], [9, 11, 1187], [10, 2, 1435], [10, 4, 496], [10, 8, 781], [10, 11, 239], [11, 8, 810], [11, 9, 1187], [11, 10, 239] ] # Create a graph graph1 = WeightedGraph(vertices, edges) # Obtain a minimum spanning tree tree1 = graph1.getMinimumSpanningTree() print("Total weight is " + str(tree1.getTotalWeight())) tree1.printTree() # Create vertices and edges vertices = [x for x in range(5)] edges = [ [0, 1, 2], [0, 3, 8], [1, 0, 2], [1, 2, 7], [1, 3, 3], [2, 1, 7], [2, 3, 4], [2, 4, 5], [3, 0, 8], [3, 1, 3], [3, 2, 4], [3, 4, 6], [4, 2, 5], [4, 3, 6] ] # Create a graph graph2 = WeightedGraph(vertices, edges)
x2[a] = eval(x2[a]) edges.append([]) edges[len(edges) - 1].append(x1) edges.append([]) edges[len(edges) - 1].append(x2) else: x = x.split(", ") for a in range(len(x)): x[a] = eval(x[a]) edges.append([]) edges[len(edges) - 1].append(x) fin.close() g = WeightedGraph(nodes, edges) mst = g.getMinimumSpanningTree() wht = mst.getTotalWeight() for i in range(num): print("Vertex "+str(i)+":", end = " ") for j in range(len(edges)): if edges[j][0] == i: print(edges[j], end = " ") print("")