【发布时间】:2016-09-10 18:39:00
【问题描述】:
我不知道如何在 Python 中实现一个基本的生成树;未加权的生成树。
我已经学会了如何实现邻接列表:
for edge in adj1:
x, y = edge[int(0)], edge[int(1)]
if x not in adj2: adj2[x] = set()
if y not in adj2: adj2[y] = set()
adj2[x].add(y)
adj2[y].add(x)
print(adj2)
但我不知道如何实现“寻找最近的未连接顶点”。
【问题讨论】:
-
注意:输入将是一个邻接列表。
-
您能否提供更多信息 - 输入数据的示例、预期的输出数据以及您尝试过的内容。您的问题太模糊,人们无法为您提供帮助。
-
对不起。输入将是:
-
{0: {1, 2}, 1: {0, 2, 3}, 2: {0, 1}, 3: {1}} 或 [[1,2],[ 0,2,3],[0,1],[1]]
-
对不起,这是一个非常模糊的问题(漫长的夜晚/累了)。基本上,我正在尝试创建一种算法,将邻接列表的列表(或字典)表示形式的列表转换为生成树的列表表示形式。因此,从邻接列表创建生成树。
标签: python spanning-tree