我正在尝试使用 DFS 来遍历我的图。我的功能是dfs(cost_matrix, start_point, goals_array). 我将 DFS 算法到达任何一个目标状态所遵循的路径放在一个列表中。我似乎无法弄清楚在遍历期间何时从列表中追加和弹出项目。我知道一旦达到目标状态我就可以退出循环。我正在迭代地使用DFS的堆栈方法。
def DFS_Traversal(cost, start_point, goals):
num = len(cost)
visited = [0] * num
visited[start_point] = 1
stack = []
stack.append(start_point)
l = [] #used to store the final path
l.append(start_point)
while(len(stack)):
s = stack.pop()
if(visited[s] == 0):
visited[s] = 1
if s in goals:
break
for i in range (1, num): #going across the matrix
if (cost[s][i] != -1 || cost[s][i] != 0):
stack.append(i) #adding members to the stack
return l
HUH函数
慕的地8271018
相关分类