예제 #1
0
def kruskal(graph):
    sortedE = []

    for lst in graph:
        for edge in lst:
            sortedE.append(edge)

    sortedE.sort(key=lambda e: e.weight)  # sort by weight
    item = GraphNode(6, weighted=True, directed=False)  # 6 is # of numbers (?)

    for edge in sortedE:
        if not item.contains_cyle():
            item.insert(edge.source, edge.dest, edge.weight)

    return item