《圖論》——廣度優先遍歷演算法(BFS)
十大演算法之廣度優先遍歷:
本文以例項形式講述了基於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的下一個鄰接點
如下程式碼參考此圖完成:
實現程式碼如下:
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
public class BFS {
private Object[] vet; //定義vet陣列用來存放頂點資訊
private int[][] array; //定義鄰接矩陣存放圖的頂點資訊
private int vexnum; //儲存邊的條數
private boolean[] ifVisit;//存放結點是否被訪問過
private List
相關文章
- 廣度優先遍歷圖解圖解
- js實現深度優先遍歷和廣度優先遍歷JS
- 二叉樹的深度優先遍歷和廣度優先遍歷二叉樹
- python實現圖(基於圖的不同儲存方式)的深度優先(DFS)和廣度(BFS)優先遍歷Python
- 【演算法】廣度/寬度優先搜尋(BFS)演算法
- 深度優先遍歷,廣度優先遍歷實現物件的深拷貝物件
- 圖論系列之「廣度優先遍歷及無權圖的最短路徑(ShortPath)」圖論
- 演算法競賽——BFS廣度優先搜尋演算法
- 廣度優先搜尋(BFS)思路及演算法分析演算法
- 寬度優先遍歷
- 基本演算法——深度優先搜尋(DFS)和廣度優先搜尋(BFS)演算法
- BFS-圖的廣度優先搜尋--鄰接矩陣矩陣
- 圖論系列之「深度優先遍歷及聯通分量」圖論
- python 實現二叉樹的深度&&廣度優先遍歷Python二叉樹
- (BFS廣度優先演算法) 油田問題演算法
- 圖論系列之「基於深度優先遍歷的尋路演算法 (Path) 」圖論演算法
- 廣度優先搜尋相關面試演算法總結(非圖論方面)面試演算法圖論
- 演算法(三):圖解廣度優先搜尋演算法演算法圖解
- Javascript樹(一):廣度遍歷和深度遍歷JavaScript
- BFS廣度優先搜尋(10)--fzu2150(基礎題)
- BFS廣度優先搜尋(6)--poj3414(基礎題)
- 圖論演算法遍歷基礎圖論演算法
- BFS廣度優先搜尋(11)--hdu2102(基礎題)
- 二叉樹的廣度遍歷和深度遍歷()二叉樹
- 演算法筆記(廣度優先搜尋)演算法筆記
- 深度和廣度優先搜尋演算法演算法
- BFS廣度優先搜尋(4)--hdu2717(poj3278)(基礎題)
- Node中的兩種遍歷方式-深度優先和廣度優先(附Node刪除檔案例子進行詳解)
- 0演算法基礎學演算法 搜尋篇第二講 BFS廣度優先搜尋的思想演算法
- python資料結構之圖深度優先和廣度優先Python資料結構
- BFS廣度優先搜尋(3)--poj2251(zoj1940)(基礎題)
- 資料結構-樹以及深度、廣度優先遍歷(遞迴和非遞迴,python實現)資料結構遞迴Python
- 圖的廣度優先搜尋和深度優先搜尋Python實現Python
- 圖的遍歷演算法-馬遍歷棋盤演算法
- 【PTA】鄰接矩陣儲存圖的深度優先遍歷矩陣
- 圖的深度優先遍歷[非堆疊、堆疊實現]
- 《圖論》——深度優先搜尋演算法(DFS)圖論演算法
- 深度DFS 和 廣度BFS搜尋演算法學習演算法