树的遍历,深度广度未知,在线等
工作中遇到一个问题,需要用树的遍历来解决。不是二叉树,要深度优先(从最下面的叶子节点递归向上)
求各位大神帮忙
------解决方案--------------------帮什么忙? 树的遍历? 还是如何构建树?没说清楚问题。
------解决方案--------------------
大学的数据结构都学过吧?用递归算法伪代码大致如下:
public void 深度优先遍历函数 (Node node, CallBack fun) {
Nodes ns = node.所有子节点;
for (Node n : ns) {
深度优先遍历函数(n, fun);
}
fun(node);
}
注:CallBack 是遍历时需要对每个节点进行什么特殊计算或处理的回调接口函数。