欧拉回路
luckydrawbox · · 算法·理论
有向图欧拉回路
Hierholzer
在每次递归过程中先遍历完所有边再将自己入栈,得到逆序欧拉回路。相当于把多条欧拉回路插入到主回路中。
void dfs(int x){
for(;head[x];){
i=head[x];head[x]=nxt[head[x]];
dfs(ver[i]);
}
z[++tp]=x;
}
对于无向图,判重边即可。
luckydrawbox · · 算法·理论
在每次递归过程中先遍历完所有边再将自己入栈,得到逆序欧拉回路。相当于把多条欧拉回路插入到主回路中。
void dfs(int x){
for(;head[x];){
i=head[x];head[x]=nxt[head[x]];
dfs(ver[i]);
}
z[++tp]=x;
}
对于无向图,判重边即可。