图的bfs
  • 板块学术版
  • 楼主Gnimnehs
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/12/24 23:04
  • 上次更新2023/12/25 15:49:54
查看原帖
图的bfs
772337
Gnimnehs楼主2023/12/24 23:04

求助!这个bfs出了点bug!

#include <bits/stdc++.h>
#define N 10010
using namespace std;

int n,m;
bool vis[N];
int d[N];

struct Node{
    int v;
	Node(int _v){
		v=_v;
	}
};

vector <Node> a[N];

void dfs(int p){
	cout<<p<<" ";
	vis[p]=1;
	for(int i=0;i<a[p].size();i++){
		int t=a[p][i].v;
		if(!vis[t]) dfs(t);
	}
}

void bfs(){
	memset(d,0,sizeof(d));
	queue <int> q;
	q.push(1);
	d[1]=1;
	while(q.size()){
		int x=q.front();
		q.pop();
		cout<<x<<" ";
		for(int i=0;i<a[i].size();i++){
			int y=a[x][i].v;
			if(!d[y]){
				q.push(y);
				d[y]=d[x]+1;
			}
		}
	}
}

int main(){
	cin>>n>>m;
	int x,y;

	for(int i=1;i<=m;i++){
		cin>>x>>y;
		a[x].push_back(Node(y));
		a[y].push_back(Node(x));
	}
	
	memset(vis,false,sizeof(vis));
	dfs(1);
	cout<<endl;
	bfs();
	cout<<endl;
	return 0;
}

/*
9 10
1 2
1 3
1 4
2 5
3 4
4 6
5 7
6 8
7 8
7 9

1 2 5 7 8 6 4 3 9
1 2 3 4 5 6 7 8 9
*/
2023/12/24 23:04
加载中...