求單源最短路徑兩頂點最短距離(BFS)

2022-08-02 20:33:08 字數 877 閱讀 4247

//

(矩陣)求圖g中頂點x的第乙個臨接點,如果有返回其下標,否則返回-1

int firstneighbor1(mgraph g,int

x)

return -1;}

//(矩陣)假設g中頂點y是頂點x的乙個相鄰結點,返回除y之外頂點x的下乙個臨接點的定點號,若y是最後乙個頂點則返回-1

int nextneighbor1(mgraph g,int x,int

y)

return -1;}

//求圖g中頂點x的第乙個臨接點,如果有返回其下標,否則返回-1(鄰接表)

int firstneighbor2(algraph g,int

x)//

(鄰接表)假設g中頂點y是頂點x的乙個相鄰結點,返回除y之外頂點x的下乙個臨接點的定點號,若y是最後乙個頂點則返回-1

int nextneighbor2(algraph g,int x,int

y)

if(temp == null ||temp->nextarc ==null)

return -1

;

else

return temp->nextarc->adjvex;}//

求單源最短路徑 (bfs) 兩頂點最短距離

void bfs_mix_distance(graph g,int u,int

v)

intw;

initqueue(q);

visit(u);

visited[u]=true

; d[u]=0

; enqueue(q,u);

while(!isempty(q))}}

}

1488 最短距離(單源點最短路問題)

有 n 個村莊,編號 1 到 n。村莊之間有 m 條無向道路,第 i 條道路連線村莊 ai 和村莊 bi,長度是 ci。所有村莊都是連通的。共有 k 個村莊有商店,第 j 個有商店的村莊編號是 xj。然後給出 q 個詢問,第 k 個詢問給出乙個村莊的編號 yk,問該村莊距離最近的商店有多遠?輸入格式...

Floyd求最短距離

用floyd演算法求解下圖各個頂點的最短距離。寫出floyd演算法的偽 和給出距離 頂點之間的 最短距離矩陣 按實驗報告模板編寫演算法。floyd演算法的基本思想如下 從任意節點a到任意節點b的最短路徑不外乎2種可能,1是直接從a到b,2是從a經過若干個節點x到b。所以,我們假設dis ab 為節點...

最短距離及最短路(Floyd 演算法)

include include using namespace std define n 100 define max 1000000 int d n n int path n n void min d int h 該函式找出最短距離,及最短路徑 coutcoutint h,a,b,k cout 輸...