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

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

相关推荐
秋天的怀念_David12 小时前
算法一千零一夜 · 第二十八夜 注册
java·程序人生·算法
二本咕咕-机械转码13 小时前
FreeRTOS深入解析(八)IPC机制之FromISR详解
数据结构·单片机·链表
NEFU_Jyj14 小时前
贝尔数(组合数学)
算法
1-1=015 小时前
C# 数据结构和特殊类型
数据结构·c#·.net·.netcore
希和202715 小时前
C语言程序设计题|有序数组插入数字冒泡排序
c语言·数据结构·算法
Pniubi15 小时前
力扣73 矩阵置零
算法·leetcode·矩阵
布莱克6051 天前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map
D e re k ZH1 天前
C++ 系统学习手记:从语法细节到工程实践
开发语言·数据结构·c++·算法
石小石Orz1 天前
AI 正在蚕食我们的编码能力
前端·后端·算法