廣度優先搜尋

2021-06-13 16:19:15 字數 1397 閱讀 2301

#include #include #include #include using namespace std;

struct node /* 圖頂點結構定義 */

;typedef struct node *graph; /* 圖形的結構新型態 */

struct node head[9]; /* 圖形頂點陣列 */

int visited[9]; /* 遍歷標記陣列 */

queuebqueue;

/********************根據已有的資訊建立鄰接表********************/

void creategraph(int node[20][2],int num)/*num指的是圖的邊數*/

}/********************** 圖的深度優先搜尋法********************/

void bfs(node head[9],int current)

p = p->nextnode;

} }}/****************************** 主程式******************************/

int main()

, , /* 邊線陣列 */

, ,, ,

, ,, ,

, ,, ,

, ,, ,

, };

int i;

//clrscr();

for ( i = 1; i <= 8; i++ ) /* 頂點陣列初始化 */

creategraph(node,20); /* 建立鄰接表 */

printf("content of the gragh's adlist is:\n");

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

printf("\n"); /* 換行 */

}printf("\nthe end of the dfs are:\n");

bfs(head,1); /* 列印輸出遍歷過程 */

printf("\n");

printf("\nthe end of the dfs are:\n"); /* 換行 */

// getch();

}

如果存在s到達v的路徑(可以多條),廣度優先搜尋總能找到一條s到v的最短路徑.

廣度優先搜尋在最壞的情況下,時間正比於v+e.

搜尋 廣度優先搜尋

廣度優先搜尋一層一層地進行遍歷,每層遍歷都是以上一層遍歷的結果作為起點,遍歷乙個距離能訪問到的所有節點。需要注意的是,遍歷過的節點不能再次被遍歷。class solution,int shortestpathbinarymatrix vectorint grid length return 1 cl...

廣度優先搜尋

廣度優先搜尋詳解 1.也稱寬度優先搜尋,顧名思義,就是將一棵樹一層一層往下搜。演算法首先搜尋和s距離為k的所有頂點,然後再去搜尋和s距離為k l的其他頂點。bfs是一種完備策略,即只要問題有解,它就一定可以找到解。並且,廣度優先搜尋找到的解,還一定是路徑最短的解。但是它盲目性較大,尤其是當目標節點距...

廣度優先搜尋

隊 列 1 定義 佇列也是一種運算受限的線性表。在這種線性表上,插入限定在表的某一端進行,刪除限定在表的另一端進行。允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭。特點 佇列中資料元素的入隊和出隊過程是按照 先進先出 的原則進行的。因此,佇列又稱為 先進先出 的線性表,簡稱fifo表。2 實現 鏈佇...