給定乙個有n個頂點和e條邊的無向圖,請用dfs和bfs分別列出其所有的連通集。假設頂點從0到n−1編號。進行搜尋時,假設我們總是從編號最小的頂點出發,按編號遞增的順序訪問鄰接點。
輸入格式:
輸入第1行給出2個整數n(0按照""的格式,每行輸出乙個連通集。先輸出dfs的結果,再輸出bfs的結果。
輸入樣例:
860
7012
0412
435
輸出樣例:
dfs通俗點說就是一條路不走到底不回頭,到底後回溯到分歧點繼續走,直到全部走完,而bfs是按層來的,先搜尋乙個點的全部關聯點,再搜尋第乙個關聯點的全部關聯點,直到全部搜一遍,和二叉樹的層序遍歷有一定相似之處。
ac**:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define eps 1e-8
#define mod 1000000007
typedef
long
long ll;
using
namespace std;
int vec[11]
[11];
int visit[11]
;int num1, num2;
queue<
int> q;
void
dfs(
int n)}}
void
bfs(
int n)
} q.
pop();
}}intmain
(void
)memset
(visit,0,
sizeof
(visit));
for(
int i =
0; i < num1; i++)"
<< endl;}}
memset
(visit,0,
sizeof
(visit));
for(
int i =
0; i < num1; i++)"
<< endl;}}
}
列出連通集 (25 分)
7 39 列出連通集 25 分 給定乙個有n個頂點和e條邊的無向圖,請用dfs和bfs分別列出其所有的連通集。假設頂點從0到n 1編號。進行搜尋時,假設我們總是從編號最小的頂點出發,按編號遞增的順序訪問鄰接點。輸入第1行給出2個整數n 0按照 的格式,每行輸出乙個連通集。先輸出dfs的結果,再輸出b...
列出連通集 25分 C語言
給定乙個有n個頂點和e條邊的無向圖,請用dfs和bfs分別列出其所有的連通集。假設頂點從0到n 1編號。進行搜尋時,假設我們總是從編號最小的頂點出發,按編號遞增的順序訪問鄰接點。輸入第1行給出2個整數n 0按照 的格式,每行輸出乙個連通集。先輸出dfs的結果,再輸出bfs的結果。860 7012 0...
PTA 列出連通集 DFS BFS
列出連通集 25分 給定乙個有n n個頂點和e e條邊的無向圖,請用dfs和bfs分別列出其所有的連通集。假設頂點從0到n 1n 1編號。進行搜尋時,假設我們總是從編號最小的頂點出發,按編號遞增的順序訪問鄰接點。輸入第1行給出2個整數nn 0 010 和ee 分別是圖的頂點數和邊數。隨後e e行,每...