#include<bits/stdc++.h>
#define endl '\n'
#define INF 0x3f3f3f3f
#define ll long long
using namespace std;
typedef pair<int,int> PII;
const int N=110;
vector<int> g[N];
bool vis[N];
int n,m,T;
void init()
{
for(int i=0;i<=n;i++)
{
vis[i]=false;
g[i].clear();
}
}
void dfs(int u)
{
vis[u]=true;
cout<<u<<" ";
for(auto v:g[u])
{
if(!vis[v])
{
dfs(v);
}
}
}
void solve()
{
cin>>n>>m;
init();
for(int i=0;i<m;i++)
{
int u,v;
cin>>u>>v;
g[u].push_back(v);
g[v].push_back(u);
}
for(int i=0;i<n;i++)//优先遍历更小的结点
{
sort(g[i].begin(),g[i].end());
}
dfs(0);
cout<<endl;
}
int main()
{
cin>>T;
while(T--)
{
solve();
}
return 0;
}
A - 数据结构实验之图论二:图的深度遍历
最新推荐文章于 2024-08-16 22:20:39 发布