我想弄清楚一种方法来使用某种形式的循环将函数helper
从递归转换为迭代。更改深度第一算法从递归到迭代
我现在真的很难过,我想知道你们中的任何一个人是否可以提供帮助。这是一个函数,用于使用深度优先遍历来搜索给定起点和终点路径是否存在于有向图内。
def helper(graph, current, visited):
if current in graph:
for neighbor in graph[current]:
if neighbor not in visited:
visited.append(neighbor)
helper(graph, neighbor, visited)
def DFS(graph, start, goal):
if start not in graph and goal not in graph:
return False
visited = [start]
helper(graph, start, visited)
return goal in visited