树--dfs序

dfs序

可以将树型结构转换成线性结构

使得每个节点的子树都在一个连续的区间上,然后我们就可以使用一些线性数据结构维护树

vector<int> v[maxn];

int in[maxn],out[maxn],idx;

void dfs(int u,int pre)
{
    in[u] = ++idx;
    for(auto i : v[u])
    {
        if(i == pre) continue;
        dfs(i,u);
    }
    out[u] = idx;
}

猜你喜欢

转载自www.cnblogs.com/hezongdnf/p/12591937.html