【囤】图的深度优先遍历和广度优先遍历

//深度优先遍历(递归)
void DFS(int u)
{
    flag[u]=true;
    cout<<u<<" ";
    for(int i=0; i<n; i++)
    {
        if(flag[i]==false&&G[u][i]==1)
        {
            DFS(i);
        }
    }
}

//广度优先遍历
void BFS(int u)
{
	//开始的点标明访问过
    flag[u]=true;
    queue<int> q;
    q.push(u);
    //只要队列不空,就出队,出队之前检查这个点有没有连通别的点且那个点没被访问过
    while(!q.empty())
    {
        for(int i=0; i<n; i++)
        {
            if(G[q.front()][i]==1&&flag[i]==false)
            {
                q.push(i);
                flag[i]=true;
            }
        }
        cout<<q.front()<<" ";
        q.pop();
    }

}

全部评论

相关推荐

07-02 18:09
门头沟学院 Java
苍穹外卖和谷粒商城这俩是不是烂大街了,还能做吗?
想去重庆的鸽子在吐槽:你不如把这俩做完自己搞明白再优化点再来问 何必贩卖焦虑
点赞 评论 收藏
分享
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务