簡體   English   中英

與父母一起尋找兩個頂點之間的最短路徑 object

[英]Finding shortest Path between two verticies with Parents object

我正在嘗試實現一個 function,它使用給定的父節點 object 打印源頂點和目標頂點之間的最短路徑。function 應該返回一個使用“->”連接相鄰頂點的 str(請參閱預期輸出)。 我將如何 go 這樣做?

def get_path(parents, source, target):
path = ''
### START YOUR CODE ###
pass
### END YOUR CODE ###

return path

# Do not change the test code here
path = get_path(parents, 's', 'z')
print(path)

我預期的 output 是:s -> y -> x -> t -> z

這是我到目前為止所做的,但它沒有讓我得到預期的 output。

def get_path(parents, source, target):
path = [target]
### START YOUR CODE ###
while True:
    key = parents[path[0]]
    path.insert(0, key)
    if key == source:
        break
### END YOUR CODE ###

return path

它給了我這個:['s', 'y', 'x', 't', 'z']

您需要做的就是使用.join()方法將列表轉換為適當的字符串。

我們首先指定我們的分隔符:

" -> "

然后,我們可以使用分隔符連接列表中的字符串:

" -> ".join(['s', 'y', 'x', 't', 'z'])

此時我們得到了想要的 output:

s -> y -> x -> t -> z

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM