資料結構實驗之圖論二:圖的深度遍歷
資料結構實驗之圖論二:圖的深度遍歷
Description
請定一個無向圖,頂點編號從0到n-1,用深度優先搜尋(DFS),遍歷並輸出。遍歷時,先遍歷節點編號小的。
Input
輸入第一行為整數n(0 < n < 100),表示資料的組數。 對於每組資料,第一行是兩個整數k,m(0 < k < 100,0 < m < k*k),表示有m條邊,k個頂點。 下面的m行,每行是空格隔開的兩個整數u,v,表示一條連線u,v頂點的無向邊。
Output
輸出有n行,對應n組輸出,每行為用空格隔開的k個整數,對應一組資料,表示DFS的遍歷結果。
Sample
Input
1
4 4
0 1
0 2
0 3
2 3
Output
0 1 2 3
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int path[110][110], visit[110];
int k, m;
void dfs(int t);
int main()
{
int T;
scanf("%d", &T);
while(T–)
{
memset(path, 0, sizeof(path));
memset(visit, 0, sizeof(visit));
scanf("%d %d", &k, &m);//k個頂點,m
while(m–)
{
int i, j;
scanf("%d %d", &i, &j);
path[i][j] = path[j][i] = 1;
}
printf(“0”);
dfs(0);
printf("\n");
}
}
void dfs(int t)
{
int i;
visit[t] = 1;
for(i = 0; i < k; i++)
{
if(visit[i]==0 && path[t][i]==1)
{
printf(" %d", i);
dfs(i);
}
}
}
相關文章
- 演算法與資料結構之圖的表示與遍歷演算法資料結構
- 資料結構之遍歷二叉樹資料結構二叉樹
- 圖論系列之「深度優先遍歷及聯通分量」圖論
- F - 資料結構實驗之圖論六:村村通公路資料結構圖論
- 資料結構實驗:二叉樹的遍歷(C語言版)資料結構二叉樹C語言
- 實戰資料結構(11)_二叉樹的遍歷資料結構二叉樹
- 資料結構 二叉樹遍歷資料結構二叉樹
- 資料結構-二叉樹的儲存結構與遍歷資料結構二叉樹
- 圖論系列之「基於深度優先遍歷的尋路演算法 (Path) 」圖論演算法
- 資料結構——樹與二叉樹的遍歷資料結構二叉樹
- 【資料結構】二叉樹的建立與遍歷資料結構二叉樹
- python資料結構之二叉樹遍歷的實現Python資料結構二叉樹
- 【圖解資料結構】 一組動畫徹底理解二叉樹三種遍歷圖解資料結構動畫二叉樹
- 資料結構之圖資料結構
- 資料結構與演算法——二叉樹的前序遍歷,中序遍歷,後序遍歷資料結構演算法二叉樹
- jQuery的遍歷結構設計之遍歷同胞jQuery
- jQuery的遍歷結構設計之遍歷祖先jQuery
- python資料結構之圖的實現Python資料結構
- 資料結構 - 圖之程式碼實現資料結構
- 用python講解資料結構之樹的遍歷Python資料結構
- 資料結構(java)圖論作業資料結構Java圖論
- 圖的深度優先遍歷[非堆疊、堆疊實現]
- 圖論演算法遍歷基礎圖論演算法
- 資料結構與演算法-二叉樹遍歷資料結構演算法二叉樹
- 二叉樹的廣度遍歷和深度遍歷()二叉樹
- 圖論系列之「廣度優先遍歷及無權圖的最短路徑(ShortPath)」圖論
- Matlab對資料夾的層次遍歷和深度遍歷Matlab
- 資料結構實驗三 2024_樹與圖實驗資料結構
- JavaScript資料結構——圖的實現JavaScript資料結構
- 【資料結構】二叉樹遍歷(遞迴+非遞迴)資料結構二叉樹遞迴
- 【資料結構——圖和圖的儲存結構】資料結構
- [資料結構]二叉樹的前中後序遍歷(遞迴+迭代實現)資料結構二叉樹遞迴
- 圖的深度優先遍歷(堆疊實現和非堆疊實現)
- 資料結構實驗之連結串列二:逆序建立連結串列資料結構
- 圖的深度遍歷(C語言)鄰接矩陣表示C語言矩陣
- 資料結構 - 圖資料結構
- 資料結構-二叉樹、堆、圖資料結構二叉樹
- 圖的遍歷演算法-馬遍歷棋盤演算法