深搜和广搜s

深搜:

void DFS(VLink G[],int v)
{
    int w;
    VISIT(v);
    visited[v]=1;
    w=FIRSTADJ(G,v);
    while(w!=-1)
    {
        if(visited[w]==0)
            DFS(G,w);
        w=NEXTADJ(G,v);
    }
}
void TRAVEL_DFS(VLink G[],int visited[],int n)
{
    int i;
    for(i=0;i

广搜:

void BFS(VLink G[],int v)
{
    int w;
    VISIT(v);
    visited[v]=1;
    ADDQ(Q,v);
    while(!EMPTYQ(Q))
    {
        v=DELQ(Q);
        w=FIRSTADJ(G,v);
        while(w!=-1)
        {
            if(visited[w]==0)
            {
                VISIT(w);
                visited[w]=1;
                ADDQ(Q,w);
            }
            w=NEXTADJ(G,v);
        }
    }
}
void TRAVEL_BFS(VLink G[],int visited[],int n)
{
    int i;
    for(i=0;i




你可能感兴趣的:(深搜和广搜s)