最短路徑

各位好
小弟現在有個問題,就是有很多點需要從起點一直連到最後一個點,然後求出起點到終點的最短路徑(每個點都要連到)

小弟目前的做法是由起點開始找出距離起點最近的第二點連線,然後再從第二點開始找距離第二點最近的第三點…以此類推一直連到最後一個點
但是
這樣的作法並沒有辦法可以求出最短的路徑。

不知道各位前輩有沒有更好的辦法,可以求出多點的最佳路徑



我的想法是 以你的起點跟終點相減 看是x距離較大還是y距離相差較大

假如起點是 20,30  終點是 40,90  這樣子就是y距離比較大

所以就由起點開始找離起點y距離最短的那一點做為第二點

也就是從下面開始慢慢掃上去…

如果是x距離較大的 就用左右方向去掃…

不知你咡不咡的懂

ps。你的起點跟終點是在整個點的各2邊嗎?還是混在其他的點之內= ="這樣就難了

感謝kulisa的回答

我條件是由起點開始跑,走過所有的點到最後一個點

求出連結所有的點距離最短為最佳路徑,所以終點並不是固定的

你說的方法,雖然跟我的要求不一樣,但是還是感謝你的協助!!

我還會再試試看有沒有更好的方法

![](upload://zC2T7m1xRLQKixYIvSCtAo1H3X6.jpeg)

A是起點 B是終點

紅色是其他的點

以A跟B的連線 看是要往順時針 還是逆時針找點

圖中是逆時針

依次把路徑上的點(依逆時針的角度)一個一個連起來

我的用意就是希望連線不要有連回去的狀況發生 就是一路連下去!

給你個參考@@