コード例 #1
0
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()))
コード例 #2
0
      [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)
コード例 #3
0
ファイル: 23.9.py プロジェクト: dmaslin/Python-work
            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("")