我必须维护公司的员工结构。每个员工都与一个唯一的名称(没有两个具有相同名称)和一个级别(整数)相关联。级别表示人员在层次结构中的位置。级别1 =最高级别(只有1名员工可以在级别1,但在级别i可以有多名员工> 1)。每个级别的员工都在i-1级员工的工作下,他是他/她的直接上司。现在,如果任何员工说A,那么就有A',A''员工......这样A在A'下工作,A'在A'下工作,依此类推。我需要创建一个合适的树结构。
我需要实现以下方法:
addEmployee(新的,老板) - 新的将立即在boss下工作
delEmployee(e1,e2) - e1将被删除,e1下的所有员工现在都将在e2下工作。 (注意 - 给出e1和e2处于同一水平)
lowestCommonBoss(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;
}
}
现在,我应该遵循什么样的树结构?这是我要找的节点吗?
答案 0 :(得分:0)
是的,您可以使用任何您想要的树结构。你提到的结构将根据我的说法运作。