description
給定乙個無向連通圖,頂點編號從0到n-1,用廣度優先搜尋(bfs)遍歷,輸出從某個頂點出發的遍歷序列。(同乙個結點的同層鄰接點,節點編號小的優先遍歷)
input
輸入第一行為整數n(0< n <100),表示資料的組數。
對於每組資料,第一行是三個整數k,m,t(0<k<100,0<m<(k-1)*k/2,0< t<k),表示有m條邊,k個頂點,t為遍歷的起始頂點。
下面的m行,每行是空格隔開的兩個整數u,v,表示一條連線u,v頂點的無向邊。
output
輸出有n行,對應n組輸出,每行為用空格隔開的k個整數,對應一組資料,表示bfs的遍歷結果。
sample input
1
6 7 0
0 30 4
1 41 5
2 32 4
3 5
sample output
0 3 4 2 5 1
**(用臨接表做):
#include#include#includeint vis[101];
int n,m,k;int shu[100],sh=1;
struct node
*head[110];
void add(int u, int v)
;void bfs(int t)
else
p=p->next;
}for(int i=1;ib[j])
for(int i=1;iprintf(" %d",b[i]);
for(int i=1;ibfs(b[i]);
}int main()
printf("%d",t);
bfs(t);
printf("\n");
}return 0;
}
鄰接表 深度優先遍歷和廣度優先遍歷
9天沒有摸c語言,手很生啊!唉,考試終於結束了,就剩三門了。演算法 資料結構太重要了,不要忽視啊!include using namespace std define maxsize 100 int v maxsize 標誌位,判斷該結點有沒有被訪問 typedef struct arcnode 定...
廣度優先搜尋 鄰接矩陣
需要了解的是,圖的廣度搜尋遍歷類似於二叉樹的層次遍歷,用到了隊的操作 如下 include include define ok 1 define error 0 define true 1 define false 0 define maxvex 100typedef int datatype 設定...
BFS廣度優先搜尋遍歷
廣度優先搜尋遍歷 problem description 給定乙個無向連通圖,頂點編號從0到n 1,用廣度優先搜尋 bfs 遍歷,輸出從某個頂點出發的遍歷序列。同乙個結點的同層鄰接點,節點編號小的優先遍歷 input 輸入第一行為整數n 0 n 100 表示資料的組數。對於每組資料,第一行是三個整數...