Привет, у меня есть код Python для алгоритма DFS. Мне нужно вернуться, когда я достиг "GoalNode". Но моя функция не возвращается, она работает, пока не достигнет всех узлов. Думаю, проблема в том, что я не знаю, как работает рекурсивная функция. Моя функция должна останавливаться жирными строками кода. Как я могу решить эту проблему
def DFS(visited, StartNode, GoalNode):
index =(list(MainDictionary).index(StartNode))
visited[index] = True
print(StartNode)
**# it has to return here out put must be only F - C but function reaches all the nodes
if StartNode == GoalNode:
return**
#This line is for accessing my dictionary data type
values = ReturnKeyVal(StartNode)
for key in values:
index =(list(values).index(key))
if visited[index] == False and values[key] != 0:
DFS(visited, key, GoalNode)
def ReturnKeyVal(Target):
for keys, values in MainDictionary.items():
if keys == Target:
return values
visited = [False] * (len(MainDictionary))
DFS(visited,"F", "C")