Breadth-First-Search(伪代码)

本文介绍了一种图的遍历算法——广度优先搜索(BFS),并提供了详细的伪代码实现。该算法通过使用队列来按层次顺序访问图中的所有顶点,适用于多种应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//广度优先算法伪代码
boolean visited[MAX_VERTEX_NUM]            //设置访问标记数组
void BFSTraverse(Graph G){
                                          //对图G进行广度优先遍历,设访问函数为visit()
	for(i = 0;i < G.vexNum; i++)          //访问标记数组初始化
		visited[i] = FALSE;
	InitQueue(Q);                         //初始化队列
	for(i = 0; i < G.vexNum; i++){
		if(!visited[i])
			BFS(G,i)
	}
}

void BFS(Graph G, int v){                  //从顶点V出发,广度优先遍历,借助一个辅助队列
	visit(v);
	visited[v] = TRUE;
	EnQueue(Q, v);
	while(!Empty(Q)){
		Dequeue(Q, v);
		for(w = FirstNeighbor(G, v); v > 0; w = NextNeighbor(G, v, w)){
			if(!visited[w]){
				visit(w);
				visited[w] = TRUE;
				EnQueue(Q, w);
			}
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值