对于bfs广度优先搜索就是树的层序遍历,先用二维数组g来存储每个点之间 的关系,用vis来标记是否被访问。
先开始进行第一个节点的搜索,将第一个节点入队,进行标记,然后进行循环,
1.判断队列是否为空,赋值队首元素temp,弹出队首元素,并进行adj操作,查出与之相关联的点赋为ad,
2.之后进行判断ad是否为0,
3.之后就判断ad是否被标记,然后输出ad,标记ad,入队ad,
4,然后再用adj操作temp,用ad返回,重复2步骤,ad为0,
之后再重复1,2,3,4.
{
首元节点入队
标记首元节点
输出首元节点
while(—){
temp=队头
弹出队头
ad=adj(temp)
while(ad!=0){
if(ad未访问){
输出ad
入队ad
标记ad}
ad=adj(temp)//进行访问同一层
}
}
}
#include<stdio.h&