遍历组织树可以采用递归方式来实现。

假设组织树的节点结构如下:

class Node {
    private String name;
    private List<Node> children;

    // getters and setters
}

其中,'name'表示节点名称,'children'表示子节点列表。

遍历组织树的代码如下:

public void traverse(Node node) {
    // 处理当前节点
    System.out.println(node.getName());
    
    // 遍历子节点
    List<Node> children = node.getChildren();
    if (children != null) {
        for (Node child : children) {
            traverse(child);
        }
    }
}

在遍历过程中,先输出当前节点的名称,然后递归地遍历子节点。这样就可以按照深度优先的方式遍历整个组织树了。

例如,对于下面的组织树:

A
├── B
│   ├── E
│   └── F
├── C
│   ├── G
│   └── H
└── D
    └── I

从根节点'A'开始遍历,输出结果为:

A
B
E
F
C
G
H
D
I

注意,如果组织树比较大,递归可能会导致栈溢出。可以考虑改用循环方式实现遍历,或者采用尾递归优化来避免栈溢出。

Java 组织树遍历:递归实现及优化

原文地址: https://www.cveoy.top/t/topic/nmgv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录