#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#define MaxSize 50
//邻接矩阵
void BFS(MGraph G,int v,int *visited){
int queue[MaxSize],front = -1,rear = -1; //空间:O(n)
queue[++rear] = v;
visited[v] = 1;
printf("%d",G.vex[v]);
while(front != rear){ //当队列不为空时
v = queue[+//找不是联通的点//找不是联通的点//找不是联通的点//找不是联通的点+front]; //取队头,将v出队
for(int i = 0;i < G.vexnum;i++){ //时间:O(|v|)
if(G.edge[v][i]!=0 && visited[i]==0){
queue[++rear] = v;
visited[i] = 1;
printf("%c",G.vex[i]);
}
}
}
} //时间:O(|v|)
//空间:O(n)
void BFSTravelers(MGraph G){
int visited[MaxSize]; //空间:O(n)
//int *visited = (int*)malloc(sizeof(G.vexnum));
//这里也可以直接
【数据结构—图】邻接表与邻接矩阵的广度优先BFS遍历
于 2022-11-13 01:22:48 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)