我必须维持公司的员工结构。每个员工都有一个唯一的名称(没有两个同名)和一个级别(整数)。级别表示人员在层次结构中的位置。级别 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;
}
}
现在,我应该遵循什么样的树结构?这是我要找的节点吗?