数据结构 图的广度优先遍历 C++

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

Boolean visited[MAX_VERTEX_NUM]; //访问标志数组。Status (*VisitFunc)(int v); //VisitFunc是访问函数,对图的每个顶点调用该函数。void BFSTraverse (Graph G, Status(*Visit)(int v)) //图的广度优先遍历。{    VisitFunc = Visit;    for(v=0; v<G.vexnum, ++v)        visited[v] = FALSE;    initQueue(Q); //置空辅助队列Q。    for(v=0; v<G.vexnum; ++v)        if(!visited[v])        {            visited[v]=TRUE;            VisitFunc(v);            EnQueue(Q, v); //v入队列            while(!QueueEmpty(Q))            {                DeQueue(Q, u); //队首元素出队并置为u。                for(w=FirstAdjVex(G,u); w>=0; w=NextAdjVex(G,u,w))                    if(!Visited[w]) //w为u的尚未访问的邻接顶点。                    {                        Visited[w]=TRUE;                        VisitFunc(w);                        EnQueue(Q, w);                    }            }        }}

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

《数据结构 图的广度优先遍历 C++》

    原文作者:数据结构之图
    原文地址: https://blog.csdn.net/yffhhffv/article/details/83834609
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞