我试图弄清楚如何从给定的边列表中打印生成树列表。例如,如果我读到:
0 1
2 1
0 2
1 3
我想打印出一个生成树列表:
[[1], [0,2,3], [1], [1]]
我知道如何使用以下代码创建邻接列表:
n = int(input("Enter number of vertices: "))
adjList = [[] for i in range(n)]
with open("graph.txt") as edges:
for line in edges:
line = line.replace("\n", "").split(" ")
adjList[int(line[0])].append(int(line[1]))
adjList[int(line[1])].append(int(line[0]))
print(l)
但是创建生成树是另一回事。鉴于生成树未加权,我不确定是否需要在这里使用 Prim 算法的某个版本?
任何帮助表示赞赏!