广度优先搜索与深度优先搜索

妖精的绣舞 提交于 2019-11-27 19:22:43

广度优先搜索

typedef struct {
    int que[MaxVertexNum];
    int rear,front;
}Queue;//广度优先搜索队列的存储结构
int visit[MaxVertexNum];//全局变量数组
void BFS(MGraph &M,int v){
    printf("广度优先搜索:");
    Queue q;
    int v1;
    for(int i=0;i<MaxVertexNum;i++){
        visit[i]=0;
    }
    q.rear=0;
    q.front=0;
    q.que[q.rear++]=v;
    visit[v]=1;
    visited(v);
    while(q.front!=q.rear){
        v1=q.que[q.front++];
        for(int j=0;j<M.vertexnum;j++){
            if(M.Edge[v1][j]!=0&&visit[j]==0){
                q.que[q.rear++]=j;
                visited(j);
                visit[j]=1;
            }
        }
    }
}

深度优先搜索

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!