0
兩個簡單的問題和我的大腦不工作。我正在使用Floyd的算法並嘗試重建從頂點U到頂點V的路徑。 這裏是我的代碼來重建路徑。例如,令u = 0和v = 3,並且讓從0到3的最短路徑爲0,1,2,3。 但是我有兩個問題。我的pathList是類的實例變量:Floyd/Warshall算法重建路徑,保存到列表中
- 我想列表返回「0,1,2,3」,但它只返回「0,1,2」,或者如果我替換pathList。添加(u)與pathList.add(v),然後它返回 只有「1,2,3」我不知道如何使它返回包括兩個端點的整個 路徑。試圖把pathList.add(其他 頂點)將導致它複製每個中間頂點。
- 當我再次調用該方法時,假設u = 3和v = 0,並且讓從3到0的最短路徑爲「3,0」(已經是最短路徑),它只會添加到我以前的列表中它我的錯誤從上面 「0,1,2,3」或「1,2,3,0」,當它應該是隻是「3,0」
任何幫助嗎?