給定乙個有n個頂點和e條邊的無向圖,請用dfs和bfs分別列出其所有的連通集。假設頂點從0到n−1編號。進行搜尋時,假設我們總是從編號最小的頂點出發,按編號遞增的順序訪問鄰接點。
輸入第1行給出2個整數n(0
按照""的格式,每行輸出乙個連通集。先輸出dfs的結果,再輸出bfs的結果。
8 6
0 70 1
2 04 1
2 43 5
1 #include2 #include3 #include4view codeusing
namespace
std;
5#define maxvertexnum 10
6#define weighttype int
7#define datatype string
8#define vertex int
9struct
graph;
15using graph=graph*;
16 vector visited(maxvertexnum,0
);17 queueq;
18struct
enode;
22using edge=enode*;
23 graph creategraph(int
vertexnum)
32void
insert(graph gra,edge e)
36graph buildgraph() 46}
47//
for(v=0;vnv;v++)
48//
cin>>gra->data[v];
49return
gra;50}
51void
dfs(graph gra,vertex v)
5258
void
bfs(graph gra)
5964
for(v2=0;v2nv;v2++)
67bfs(gra);} 68}
69void
dfslook(graph gra)
"<
75}76for(auto &o:visited)
77 o=0;78
}79void
bfslook(graph gra)
"<
85}86for(auto &o:visited)
87 o=0
; 88}89
intmain()
列出連通集
給定乙個有n個頂點和e條邊的無向圖,請用dfs和bfs分別列出其所有的連通集。假設頂點從0到n 1編號。進行搜尋時,假設我們總是從編號最小的頂點出發,按編號遞增的順序訪問鄰接點。輸入第1行給出2個整數n 0按照 的格式,每行輸出乙個連通集。先輸出dfs的結果,再輸出bfs的結果。純dfs和bfs的練...
列出連通集
7 15 列出連通集 25 分 給定乙個有n個頂點和e條邊的無向圖,請用dfs和bfs分別列出其所有的連通集。假設頂點從0到n 1編號。進行搜尋時,假設我們總是從編號最小的頂點出發,按編號遞增的順序訪問鄰接點。輸入格式 輸入第1行給出2個整數n 0輸出格式 按照 的格式,每行輸出乙個連通集。先輸出d...
列出連通集
7 6 列出連通集 25 分 給定乙個有n個頂點和e條邊的無向圖,請用dfs和bfs分別列出其所有的連通集。假設頂點從0到n 1編號。進行搜尋時,假設我們總是從編號最小的頂點出發,按編號遞增的順序訪問鄰接點。輸入第1行給出2個整數n 0按照 的格式,每行輸出乙個連通集。先輸出dfs的結果,再輸出bf...