如果我有已按权重排序的边列表(假设每个边的权重等于或大于前一条边),例如[['A','D'],['B ','C'],['A','B'],['C','D']],如何创建一个新列表,该列表表示不存在循环的最小生成树?因此,在这种情况下,我将不使用原始列表并继续添加边,除非它们形成一个循环或直到碰到每个顶点为止。另外,不允许我使用导入来解决此问题。我认为递归可能是答案,但我不确定。
因此,在上面的示例中,我希望最终列表具有[['A','D'],['B','C'],['A','B']]。该列表不包含['C','D'],因为那样会创建一个循环。