存储公司的层次结构

时间:2013-06-30 09:53:57

标签: java data-structures avl-tree

我必须维护公司的员工结构。每个员工都与一个唯一的名称(没有两个具有相同名称)和一个级别(整数)相关联。级别表示人员在层次结构中的位置。级别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;
    }
}

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

1 个答案:

答案 0 :(得分:0)

是的,您可以使用任何您想要的树结构。你提到的结构将根据我的说法运作。