1. 程式人生 > >《圖論》——廣度優先遍歷算法(BFS)

《圖論》——廣度優先遍歷算法(BFS)

popu 維數 b2c 分享 asc .net 廣度優先遍歷 ont gravity

十大算法之廣度優先遍歷:


本文以實例形式講述了基於Java的圖的廣度優先遍歷算法實現方法,詳細方法例如以下:

用鄰接矩陣存儲圖方法:

1.確定圖的頂點個數和邊的個數

2.輸入頂點信息存儲在一維數組vet中

3.初始化鄰接矩陣。

4.依次輸入每條邊存儲在鄰接矩陣array中

輸入邊依附的兩個頂點的序號i,j。
將鄰接矩陣的第i行第j列的元素值置為1;
將鄰接矩陣的第j行第i列的元素值置為1;

廣度優先遍歷實現:

1.初始化隊列Q
2.訪問頂點v;ifVisit[v]=1;頂點v入隊Q;
3.while(隊列Q非空)

v=隊列Q的隊頭元素出隊;
w=頂點v的第一個鄰接點
while(w存在)

假設w未被訪問,則訪問頂點w;visited[w]=1;頂點w入隊列Q

w=頂點v的下一個鄰接點

例如以下代碼參考此圖完畢:

技術分享

實現代碼例如以下:


《圖論》——廣度優先遍歷算法(BFS)