我想知道,當給出起始頂點s時,只有當頂點距離起始頂點不超過三個邊時才計算最短路徑。Dijkstra算法的修改
我想通過計算父母的數量來做到這一點,如果number_of_parents < = 3那麼它是一個有效的路徑。
請有人可以澄清這一點對我來說,使用算法?
下面是標準的Dijkstra算法。
Dijkstra(G,W,s)
Initialize_Single_Source(G,s)
S= {}
Q = V[G]
while Q != {} do
u = extract_min(Q)
S = S U {u}
for each vertex v element of Adj[u] do
relax(u,v,w)
「我想這樣做的」來吧,這樣做的來源,然後問一個問題。 –
爲什麼不創建一個新圖形,該圖形只包含離源最多3個邊的所有節點,並在該圖上使用dijkstra算法。您可以通過執行3次BFS來創建較小的圖,所有訪問過的節點都屬於您的較小圖。 – Krom