深度優先遍歷求最短路徑

2021-06-27 08:59:09 字數 784 閱讀 6498

給出乙個地圖,求頂點 1 到頂點 5 的最短路徑

int path[100]; /// 用來儲存路徑

void dfs(int cur, int dis)

}printf("\t%d\n", dis);

if(min > dis)

return;

} for (i = 1; i <= n; ++i) }

}int main(int argc, char const *argv)

else}}

for(i = 1; i <= m; ++i)

book[1] = 1;

path[1] = 1;

dfs(1, 0);

printf("%d\n", min);

system("pause");

return 0;

}處理無向圖和處理有向圖基本是一模一樣, 只是無向圖初始化的鄰接矩陣應該是對稱的.

求圖上兩點之間的最短路徑除了有深度優先搜尋以外,還可以使用廣度優先搜尋、floyd、bellman-ford、dijkstra等.

廣度優先遍歷求指定頂點之間的最短路徑

問題描述 設圖中的各邊的權值均為相等,以鄰接表為儲存結構,求頂點v到頂點u的最短路徑長度,要求輸出路徑上的每乙個頂點。演算法思路 採用廣度優先遍歷演算法,當訪問到的當前頂點為所指定的終點時,結束遍歷,利用佇列中每中元素的pre值尋找起點到終點的最短路徑 當前頂點的pre值即為鏈結以當前頂點為終點的弧...

最短路 求最長最短路,求最短路的路徑

hdu 1595 find the longest of the shortest include include include include include include include include include include include include include defi...

求最短路徑

從源點到終點的路徑可能存在三種情況 1.沒有路徑 2.只有一條路徑 3.有多條路徑 思路 按照路徑長度遞增的次序從源點到終點的路徑。假設gra ph graph graph 為有向網的鄰接矩陣,s ss為已找到最短路徑結點的集合,其初始狀態為只含乙個頂點,即源點。另設乙個一維陣列dis t n di...