执行深度优先搜索的递归函数

2021-02-25 04:13:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图编写一个从命令行初始化的递归函数,该函数获取一个文本文件,其中包含一系列起点、终点和这些点之间的距离,然后找到从特定起点到特定终点的最短距离。在

例如,文本文件如下所示:

a,b,5
a,c,8
b,d,6
c,d,2
d,e,12
d,f,2
e,g,3
f,g,7

会用类似于:

^{pr2}$

这个想法是基于我下学期要上的一节课的一个项目,我想先开始。教授提供了一个广泛的“开始代码”,找到了here。在

我尝试了多种不同的方法来实现递归函数来遍历文本文件并记录和比较点之间的距离,但我似乎不能正确地实现它。现在我有一个(非常明显不正确的)代码:

if place not in distances:
    print('not in')
    distances[place] =roads[place]
    dist_so_far = distances[place]     
    dfs(place, 0.0, roads, distances)
elif place in distances and distances[place] <= dist_so_far:
    print('less than')
    #dfs(place,0.0, roads, distances)
elif place in distances and distances[place] > dist_so_far:
    print('greater than')
    distances[place] = dist_so_far
    dfs(place, 0.0, roads, distances)

我知道这是不对的,我只是认为它的格式是一个很好的起点。我只是不明白哪些字典包含什么,哪些索引要比较。在