簡體   English   中英

java Dijkstra最短的路徑如何找出最終目的地?

[英]java Dijkstra’s shortest path how to figure out final destination?

我也在嘗試使用Dijkstra的路徑來學習圖形,並且正在將這個極客用於極客教程 我想我了解使用重量找到最短路徑的方式。 但是,這可能是愚蠢的,但我不明白如何通過查看代碼來找到目的地。 或9個輸入是如何

為什么有9個輸入只能使用3個輸入? 程序如何知道在哪里結束?

該示例中的程序在訪問完所有節點后結束,它沒有選擇特定的目的地。 它計算從節點0到圖中每個節點的最小距離(和路徑)。

該示例中有9個節點,但是您當然也可以使用3個節點或1000個節點。

因此,為了解決您的問題的前半部分,沒有使用Dijsktra算法的預定“目標節點”,而且還只是最終結果。

在此示例中,來自GeeksforGeeks代碼,

void dijkstra(int graph[V][V], int src) 

我們可以看到算法需要所有節點的數組,以及要從哪個節點開始。 該數組中的每個節點都有9個輸入,這些輸入對應於該節點到任何其他節點的給定距離,其中0表示沒有連接。 例如,“ 0”節點具有以下值:

{0,4,0,0,0,0,0,8,0}

這意味着節點0距離節點1 4個單元,距離節點7 8個單元,或者沒有連接到其他7個節點,或者是其他7個節點之一。 如果只有3個節點,則將使用3個輸入來表示所有3個節點之間的可能距離。

當程序用盡所有可能的節點和路徑時,算法將停止。 該算法尋找最小的生成樹,而不是從A點到B點的路徑。

暫無
暫無

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

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