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
demen[i][j] = demen[i - 1][j - 1] else: demen[i][j] = 1 + min(demen[i][j - 1], # Insert demen[i - 1][j], # Remove demen[i - 1][j - 1]) # Replace return demen[-1][-1] s1 = "Hello" s2 = "Hello" print(edit_distance(s1, s2)) print() # Test Cases n = GraphNode(6, weighted=True, directed=True) n.insert(4, 4, 1) n.insert(5, 2, 3) n.insert(4, 3, 2) n.insert(3, 4, 1) # Numbers can change to test n.insert(2, 5, 0) n.insert(1, 1, 4) n.display() wow = kruskal(n.al) wow.display() print(topological_sort(n))