【发布时间】:2017-03-22 12:09:39
【问题描述】:
我正在尝试实现一个 dfs 以在字符串图中查找循环。例如图表:
walkways_info = """\
U 3
0 1
1 2
2 0
"""
将返回 True。我目前遇到的问题是我的 if 语句:
if current_vertex in visited or int(graph[i].split()[1]) in visited:
它正在输出 False,但我不希望它在这个阶段输出任何东西。
更新代码Here
我将不胜感激。
【问题讨论】:
-
在解决任何基于图形的任务之前,我会建议您构建一个基于字符串表示的邻接矩阵。通过这种方式,您将能够使用众所周知且经过优化的算法和实现。
-
查看您的代码:它可以返回
False的唯一方法是当您的图表为空时! -
我已经在 for 循环之外添加了
return False如果图形被迭代并且没有调用return True不应该这个触发器吗? -
我在
else: return Trueprint(visited)添加了一个打印语句,visited 是一个空列表。它一定不能进入if current_vertex in visited == False循环,但我不知道为什么.. -
凹凸........
标签: python graph microsoft-distributed-file-system