0

我必须维持公司的员工结构。每个员工都有一个唯一的名称(没有两个同名)和一个级别(整数)。级别表示人员在层次结构中的位置。级别 1 = 最高(级别 1 只能有 1 名员工,但级别 i > 1 可以有多名员工)。每个级别 i 的员工都在级别 i-1 的员工下工作,该员工是他/她的直接上司。现在,给定任何员工说 A,有员工 A',A''... 这样 A 在 A' 下工作,A' 在 A'' 下工作,依此类推。我需要创建一个合适的树结构。

我需要实现以下方法:

addEmployee(new, boss) - new 将在 boss 下立即工作

delEmployee(e1, e2) - e1 将被删除,e1 下的所有员工现在都将在 e2 下工作。(注意 - e1 和 e2 处于同一级别)

最低CommonBoss(e1, e2) - 不言自明

printEmployees() - 打印所有员工的姓名

现在我所做的是创建一个节点类:

public class Node {
    String element;
    Node parent;
    protected ArrayList<Node> children;
    protected int level;

    Node(String e) {
    this.element = e;
    this.parent = null;
    this.children = new Arraylist();
    this.level = 1;
    }
}

现在,我应该遵循什么样的树结构?这是我要找的节点吗?

4

1 回答 1

0

是的,你可以使用任何你想要的树结构。你提到的结构对我来说是可行的。

于 2017-01-03T17:31:16.377 回答