DFS is usually processing sub-tree problem, because dfs order a sub-tree is continuous.
Chain is split tree processing chain problem, a combination of a plurality of paths formed by the chain. Up logn chains
Both are in fact a linear relationship between the hash tree