图论算法-搜索

本文深入探讨了图论中的两种重要搜索算法——深度优先搜索(BFS)和广度优先搜索(DFS)。通过实例解析它们的工作原理、应用及其在解决图遍历问题中的关键角色。掌握这些算法对于理解和解决复杂图结构问题至关重要。
摘要由CSDN通过智能技术生成

BFS

bool visited[MAX_VERTEX_NUM);           //访问标记数组  
void BFSTraverse(Graph G){              //对图G进行广度优先遍历,设访问函数为visit()  
    for(i=0;i<G.vexnum;i++)  
        visited[i]=FALSE;               //访问标志数组初始化  
    InitQueue(Q);                       //初始化辅助队列Q  
    for(i=0;i<G.vexnum;i++)              //从0号顶点开始遍历  
        if(!visited[i])                 //对每个连通分量开始遍历  
            BFS(G,i);                   //v[i]未访问过,从v[i]开始BFS  
}  
void BFS(Graph G,int v){                //从顶点v出发,广度优先遍历图G,算法借助一个辅助队列Q  
    visit(v);                           //访问初始顶点v  
    visited[v]=TRUE;                    //对v做已访问标志  
    Enqueue(Q,v);                       //顶点v入队列  
    while(!isEmpty(Q)){  
        DeQueue(Q,v);                   //顶点v出队列  
        for(w=FirstNeighbor(G,v);w>=0;w=NextNeighbor(G,v,w)) //检测v所有邻接点  
            if(!visited[w]){            //w为v的尚未访问
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值