我有一个字典,打印它看起来像这样: {(2,2):( 47,42), (2,37):( 21,116), (3,159):( 60,189), ..................... (483,284):( 451,297)} 所以我有键值---->值是一个边缘。 我希望能够构建一个函数,找到2个点之间的路径,如果有的话,只返回它(假设dict中有很多路径)。 所以我尝试做这样的事情: paths变量是我的dict,begin和end是2 dimention int元组
def findPath(paths, begin, end):
cur = begin
found = False
path = [begin]
while not found:
if cur == end:
path.append(end)
found = True
else:
#I don't want to go on blind like this: cur = paths[cur]
# because it may not lead to the end point
return path
更多信息 - 路径dict中没有圆圈
我该如何实现?它需要使用递归吗?