C 實現列出連通集

2021-09-16 21:31:55 字數 778 閱讀 2577

給定乙個有n個頂點和e條邊的無向圖,請用dfs和bfs分別列出其所有的連通集。假設頂點從0到n−1編號。進行搜尋時,假設我們總是從編號最小的頂點出發,按編號遞增的順序訪問鄰接點。

輸入第1行給出2個整數n(0按照""的格式,每行輸出乙個連通集。先輸出dfs的結果,再輸出bfs的結果。

8 6

0 70 1

2 04 1

2 43 5

在演算法題中快速實現圖的方法是直接用全域性變數儲存鄰接矩陣,訪問狀態陣列,點數和邊數。使用dfs和bfs來判斷圖的連通度,dfs和bfs的**要熟練,bfs佇列直接用stl實現。

#include#include #define n 15

#define max_size 150

using namespace std;

int g[n][n], nv, ne;

bool visited[n];

void initvisit()

void dfs(int v)

}void listcomponentswithdfs()\n");

} }}void bfs(int v)

} }}void listcomponentswithbfs()\n");

} }}void creategraph()

} for (int i = 0; i < ne; i++)

}int main()

列出連通集

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