【图论】深度优先搜索树

有向图才会有forward edge和cross edge。无向图是没有这两种edge的。

    void dfs(int u) {
        vis[u] = 1;
        for(int &v : G[u]) {
            switch(vis[v]) {
            case 0:
                // tree edge
                vis[v] = 1;
                dfs(v);
                break;
            case 1:
                // backward edge
                break;
            case 2:
                // forward edge or cross edge
                break;
            }
        }
        vis[u] = 2;
    }
原文地址:https://www.cnblogs.com/purinliang/p/14091610.html