图的遍历

图的遍历

例题:查找文献

1. 深度优先搜索(DFS)

  1. 第一种办法就是使用邻接表(也可以看成是链表吧)

    h[]为插入数组,e[]为具体数组,ne[]为当前下标指向的下个位置

    主要代码

    int n,m,h[N],ne[N],e[N],idx;
    bool st[N];
    void add(int a,int b)
    {
        e[idx]=b,ne[idx]=h[a],h[a]=idx++;
    }
    void dfs(int u)
    {
        st[u]=true;
        cout<<u<<" ";
        for(int i=h[u];i!=-1;i=ne[i])
        {
            int j=e[i];
            if(st[j])continue;
            dfs(j);
        }
    }
    
posted @ 2022-01-27 22:22  snaliuu  阅读(64)  评论(0)    收藏  举报