列出連通集

2022-05-05 06:30:10 字數 1339 閱讀 6751

給定乙個有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 #include4

using

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()

view code

列出連通集

給定乙個有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...