資料結構實驗之圖論二:圖的深度遍歷
資料結構實驗之圖論二:圖的深度遍歷
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 - 資料結構實驗之圖論六:村村通公路資料結構圖論
- 圖論系列之「深度優先遍歷及聯通分量」圖論
- 資料結構 二叉樹遍歷資料結構二叉樹
- 【資料結構】二叉樹的建立與遍歷資料結構二叉樹
- 資料結構——樹與二叉樹的遍歷資料結構二叉樹
- 圖論系列之「基於深度優先遍歷的尋路演算法 (Path) 」圖論演算法
- 資料結構之圖資料結構
- 用python講解資料結構之樹的遍歷Python資料結構
- jQuery的遍歷結構設計之遍歷同胞jQuery
- jQuery的遍歷結構設計之遍歷祖先jQuery
- 【圖解資料結構】 一組動畫徹底理解二叉樹三種遍歷圖解資料結構動畫二叉樹
- 資料結構實驗三 2024_樹與圖實驗資料結構
- 資料結構 - 圖之程式碼實現資料結構
- 資料結構(java)圖論作業資料結構Java圖論
- 圖論演算法遍歷基礎圖論演算法
- 資料結構與演算法-二叉樹遍歷資料結構演算法二叉樹
- 圖論系列之「廣度優先遍歷及無權圖的最短路徑(ShortPath)」圖論
- JavaScript資料結構——圖的實現JavaScript資料結構
- 【資料結構——圖和圖的儲存結構】資料結構
- [資料結構]二叉樹的前中後序遍歷(遞迴+迭代實現)資料結構二叉樹遞迴
- 資料結構實驗之連結串列二:逆序建立連結串列資料結構
- 資料結構-二叉樹、堆、圖資料結構二叉樹
- 資料結構 - 圖資料結構
- 圖的深度遍歷(C語言)鄰接矩陣表示C語言矩陣
- 資料結構實驗 二維矩陣的實現資料結構矩陣
- 資料結構-樹以及深度、廣度優先遍歷(遞迴和非遞迴,python實現)資料結構遞迴Python
- 一本正經的聊資料結構(5):二叉樹的儲存結構與遍歷資料結構二叉樹
- 資料結構:圖(Graph)資料結構
- 【PTA】鄰接矩陣儲存圖的深度優先遍歷矩陣
- 圖的儲存與遍歷C++實現C++
- 圖解B樹及C#實現(2)資料的讀取及遍歷圖解C#
- [資料結構] 根據前中後序遍歷中的兩種構造二叉樹資料結構二叉樹
- 【資料結構&演算法】11-樹基礎&二叉樹遍歷資料結構演算法二叉樹
- Python實現二叉樹的三種深度遍歷方法!Python二叉樹
- [資料結構] BFS演算法實現層序遍歷輸出一顆二叉樹資料結構演算法二叉樹
- 資料結構實驗之二叉樹八:(中序後序)求二叉樹的深度資料結構二叉樹
- 資料結構學習筆記-先序遍歷森林資料結構筆記