数据结构--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);
					}
				}
			}
		}
	}
}

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

相关推荐
靠沿2 小时前
【递归、搜索与回溯算法】专题一——递归
算法
凌波粒2 小时前
LeetCode--24.两两交换链表中的节点(链表)
java·算法·leetcode·链表
猫咪老师2 小时前
RAG与GraphRAG介绍
人工智能·算法·llm
guojb8242 小时前
从0开始设计一个树和扁平数组的双向同步方案
前端·数据结构·vue.js
西西弟3 小时前
拓扑排序及关键路径(数据结构)
数据结构·c++
qwehjk20083 小时前
实时语音处理库
开发语言·c++·算法
2301_804215413 小时前
自定义异常类设计
开发语言·c++·算法
暮冬-  Gentle°3 小时前
C++代码依赖分析
开发语言·c++·算法
2301_763891953 小时前
泛型编程与STL设计思想
开发语言·c++·算法
j_xxx404_3 小时前
蓝桥杯基础--进制转换
开发语言·数据结构·c++·算法·职场和发展·蓝桥杯