我有这个示例图
graph = { "v1" : ["v3"],
"v2" : ["v3", "v5"],
"v3" : ["v1", "v2", "v4", "v5"],
"v4" : ["v3"],
"v5" : ["v3", "v2"],
"v6" : []
}
我有两个算法来生成边和寻找孤立的节点:
def edges(g):
edges = []
for node in g[node]:
edges.append((node, g[node]))
return edges
def isolated(g):
result = []
for node in g[node]:
if not g[node]:
result += node
return result
我做错什么了?你知道吗
下面是一种以元组列表的形式列出边的方法,其中包含节点源和节点目标。你知道吗
以及列出没有输出边的节点的方法:
它假设邻接列表两次表示边:一次向外,一次向内,典型的无向图。你知道吗
输出:
你要做的是:
您将得到
['v6']
,因为它是唯一没有节点关联的如果图可以包含有向边,那么仅仅检查任何给定节点的邻接列表是不够的。相反,您可以为作为某个边缘的源或目标的所有节点获取
set
,并收集那些既不是源也不是目标的节点。你知道吗或者使用
set
方法:相关问题 更多 >
编程相关推荐