广度优先搜索

Posted wile

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了广度优先搜索相关的知识,希望对你有一定的参考价值。

广搜求最少转机

struct node {
    int x; ///城市编号
    int s;
}q[maxn];
void bfs() {
    head=tail=1;
    q[tail].x=1;
    q[tail++].s=0;
    vis[start]=1;
    int cur,flag=0;
    while(head<tail) {
        cur=q[head].x;
        for(int i=1;i<=n;i++) {
            if(e[cur][i]!=inf && !vis[i]) {
                q[tail].x=i;
                q[tail++].s=q[head].s+1;
                vis[i]=1;
            }
            if(q[tail-1].x==end) {
                flag=1;
                break;
            }
        }
        if(flag==1) break;
        head++;
    }
}

 

以上是关于广度优先搜索的主要内容,如果未能解决你的问题,请参考以下文章

Prolog中的广度优先搜索

面试题算法: 广度优先搜索

图相关算法

图解:深度优先搜索与广度优先搜索

广度优先搜索遍历图

无向图 广度优先搜索 和 深度优先搜索