图的根节点-数据结构作业。。



手写邻接表 BFS


#include <iostream>
#include <queue>
using namespace std;

const int maxn = 100000;
const int maxm = 300000;
struct Graph {
	int NE , NV;
	int head[maxn];
	struct Node{
		int next , v;
		Node(){}
		Node(int a,int b):v(a) , next(b){}
	}E[maxm];
	void clear(int n) {
		NV = n;
		NE = 0;
		memset(head,-1,sizeof(int)*n);
	}
	inline void Insert(int u,int v) {
		E[NE] = Node(v , head[u]);
		head[u] = NE ++;
	}
	void Print() {
		for(int i = 0 ; i < NV ; i ++) {
			printf("%d:",i);
			for(int j = head[i]; j != -1; j = E[j].next){
				printf(" %d",E[j].v);
			}
			puts("");
		}
	}
}G;

int n, m, ctr;
int visit[maxn]; 

void BFS(int cur) {
	queue<int> Q;
	Q.push(cur);
	visit[cu
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值