회사의 직원 구조를 유지해야합니다. 각 직원은 고유 한 이름 (동일한 이름을 가진 두 개가 없음)과 레벨 (정수)을 연관시킵니다. 레벨은 사람이 계층에 서있는 위치를 나타냅니다. 레벨 1 = 가장 높음 (1 명의 직원 만 레벨 1에있을 수 있지만 레벨 i> 1에는 여러 명의 직원이있을 수 있음). 각 레벨 i 직원은 직속 상사 인 i-1 레벨 직원으로 근무합니다. 이제 어떤 직원이 A라고 말하면 직원 A ', A' '... A는 A', A는 A ''등으로 작동합니다. 적절한 트리 구조를 만들어야합니다.회사의 계층 적 구조 저장
나는 다음과 같은 방법을 구현해야합니다
addEmployee (새, 보스) - E1 제거되고 모든 직원 - 보스 바로 아래에
delEmployee (E1, E2)이 작동 새로운 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;
}
}
, 내가 트리 구조의 종류를 따라야을? 이 노드가 내가 찾고있는 노드인가?
생성자를 제외하고 요구 사항과 일치하는 것 같습니다. 생성자를 일반화하십시오. 루트를 제외한 다른 경우를 고려하십시오. 엘리먼트 만 유지하고 싶은 정보입니까? –
귀하의 질문은 너무 일반적이고 데이터베이스를 사용하고 있는지 여부를 지정하지 않습니다. 그렇다면 통계를 생성하거나 다른 기능을 사용해야합니다. 명시 해주세요. – surfealokesea
@VaibhavRaj 네, 그렇게 생각합니다. 필요한 것은 문자열의 직원 이름뿐입니다. –