7-6 列出連通集 (25 分)
給定乙個有n個頂點和e條邊的無向圖,請用dfs和bfs分別列出其所有的連通集。假設頂點從0到n−1編號。進行搜尋時,假設我們總是從編號最小的頂點出發,按編號遞增的順序訪問鄰接點。
輸入第1行給出2個整數n(0按照""的格式,每行輸出乙個連通集。先輸出dfs的結果,再輸出bfs的結果。
8 6
0 70 1
2 04 1
2 43 5
#include using namespace std;int n, e;
int a[101][101] = ;
int vis[101] = ;
int vbs[101] = ;
void dfs(int x)
}if(!f)
}cout << "}" << endl;
} void bfs(int x)}}
cout << "}" << endl;
}int main()
for(int i = 0; i < n; i++)
for(int i = 0; i < n; i++)
return 0;
}
下面給出遞迴解法(上面的bfs是偽遞迴)
1 #include 2 using namespace std;3 int n, e;
4 int a[101][101] = ;
5 int vis[101] = ;
6 int vbs[101] = ;
7 void dfs(int x)
14 }
15 }
16 void bfs(int x)
27 }
28 cout << " " << temp;
29 myque.pop();
30 }
31 cout << " }";
32 cout << endl;
33 }
34 int main()
41 for(int i = 0; i < n; i++)";
47 cout << endl;
48 }
49
50 }
51 for(int i = 0; i < n; i++)
56 }
57 return 0;
58 }
列出連通集
給定乙個有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...
列出連通集
給定乙個有n個頂點和e條邊的無向圖,請用dfs和bfs分別列出其所有的連通集。假設頂點從0到n 1編號。進行搜尋時,假設我們總是從編號最小的頂點出發,按編號遞增的順序訪問鄰接點。輸入第1行給出2個整數n 0 按照 的格式,每行輸出乙個連通集。先輸出dfs的結果,再輸出bfs的結果。8 6 0 70 ...