3

关于递归的问题(以及切向的图形库networkx):我有一个带有节点的有向图,该节点的边具有可以为0或1的属性[“值”](实际上是边权重)。

我希望能够递归地检查节点的邻居,直到邻居的节点未达到某个阈值。例如:

def checkAll(x):
    for neighbor in graph.neighbors(x):
         if neighbor is bad:
             fail
         else:
            checkAll(neighbor)
         #add all good neighbors here? This isn't working!

我在递归方面失败了,基本上,我认为是因为“for”循环的完成方式。我能得到一些帮助吗?(我查看了另一个 SO 帖子,但似乎不是特别相关?)

谢谢!

4

1 回答 1

3

免责声明:我对networkx一无所知,但根据我对您问题的理解,也许这会有所帮助:

def examine(node, neighbors_list)
    
    for neighbor in graph.neighbors(node):
        if graph[x]["neighbor"]["value"] = 1:
            return
        else:
            neighbors_list.append(neighbor)
            examine(neighbor, neighbors_list)


x = parent_node

neighbors = []
examine(x, neighbors)
于 2010-11-11T21:26:56.313 回答