数据结构--5.3图的遍历(广度优先遍历)

广度优先遍历:

广度优先遍历(BreadthFirstSearch),又称为广度优先搜索,简称BFS。

要实现对图的广度遍历,我们可以利用队列来实现。

cpp 复制代码
void BFSTraverse(MGraph G)
{
	int i,j;
	Queue Q;
	for(i=0;i<G.numVertexse;i++)
	{
		visited[i]= FALSE;
	}
	initQueue(&Q);
	for(i=0;i<G.numVertexse; i++)
	{
		if(!visited[i])
		{
			printf("%c",G.vex[i]);
			visited[i]=TURE;
			EnQueue(Q,i);
			while(!QueueEmtpty(Q))
			{
				DeQueue(&Q,&i);
				for(j=0;j<G.numVertexes;j++)
				{
					if(G.art[i][j]==1 &&  !visited[j])
					{
						printf("%c",G.vex[i]);
						visited[i] = TUURE;
						EnQueue(&Q,j);
					}
				}
			}
		}
	}
}

(参考队列)(上述为结构)

相关推荐
Xiaoᴗo.几秒前
C语言2.0---------
c语言·开发语言·数据结构
ghie90902 分钟前
MATLAB 解线性方程组的迭代法
开发语言·算法·matlab
m0_743106462 分钟前
【浙大&南洋理工最新综述】Feed-Forward 3D Scene Modeling(二)
人工智能·算法·计算机视觉·3d·几何学
Java_小白呀3 分钟前
考研408数据结构(栈与队列)
数据结构·考研·栈和队列·考研408
Brilliantwxx3 分钟前
【数据结构】排序算法的神奇世界(下)
c语言·数据结构·笔记·算法·排序算法
进击的荆棘3 分钟前
递归、搜索与回溯——二叉树中的深搜
数据结构·c++·算法·leetcode·深度优先·dfs
人道领域7 分钟前
【LeetCode刷题日记】:151翻转字符串的单词(两种解法)
java·开发语言·算法·leetcode·面试
会编程的土豆12 分钟前
【日常做题】栈 中缀前缀后缀
开发语言·数据结构·算法
进击的荆棘12 分钟前
递归、搜索与回溯——回溯
数据结构·c++·算法·leetcode·dfs
励志的小陈16 分钟前
数据结构--二叉树(链式结构、C语言实现、层序遍历)
c语言·数据结构