前言
用于在图形数据结构中遍历和搜索所有节点的算法。BFS从图形的起始节点开始遍历,并逐层遍历所有相邻节点,直到所有节点都被访问。这种搜索算法对于寻找最短路径或者最小步数的解决方案都非常有用
一、举例说明
首先定义一个邻接矩阵和一个记录节点是否被访问的数组.
使用队列来存储待访问的节点
定义一个BFS函数用于遍历图形
#define MAX_SIZE 100//定义最大节点数量
int graph[MAX_SIZE][MAX_SIZE];//定义邻接矩阵存储图形
bool visited[MAX_SIZE]; //定义记录节点是否被访问的数组
int queue[MAX_SIZE]; //定义队列用于存储待访问的节点
int front = 0, rear = 0; //定义队列的前后指针
//BFS函数的定义
void bfs(int start, int n){
visited[start] = true; //标记起始节点为已访问
queue[rear++] = start; //将起始节点入队