2016-10-17 2 views
0

다음과 같은 데이터가 있습니다. 여기서 팀 1이 부모 자식 인 경우 & 2 명의 자식 팀 A & 팀 B 팀 A는 다시 부모 인 자식 &입니다. B 팀은 자녀가 없습니다. 부모/자식 구현 및 레코드 집합 얻기 부모 이름을 부여하면

는 또 다른 시나리오에서, 팀 A는 내가 1 팀을주는 경우에, 다음이 번들로 A 팀 & 팀 B의 기록을 인출해야

.. 독립적 인 부모 & 어떤 아이 등이 포함되어있다. 팀 A에게 알려주면 팀 A의 기록을 가져와야합니다.

enter image description here

나는이 사용지도 나 트리를 구현하는 생각을했다. 그리고 이것을 시도했습니다 -

public class Node { 

    private String id; 
    private List<Node> children = new ArrayList<>(); 
    private Node parent; 
    .......... 
    //setters and getters 
} 

그러나 여기서 우리는 부모 레벨 (이 예제에서는 2)을 모르기 때문에 동적으로 노드를 생성하는 것이 문제가됩니다. "Dhoni"가 다시 현명한 아이를 포함한다는 의미입니다.

구현 방법은 무엇입니까?. 안내해주십시오.

답변

1

문제 설명에서 이해 한 것은 무엇이든 여기에서 요약하려고합니다. 부모 이름 (키)을 가질 수있는 데이터 구조를 찾고 있으며 자식이있을 수 있으며 각 자식 또한 확장 될 수 있습니다. 당신은 키와 team1을주는 경우에 당신은지도를 여기

Map<String, List<Node>> // here key is team name etc., and list represents children. 

을 사용할 수 있습니다

공용 클래스 노드 {

private String id; // for each level you have key defined. 
private List<Node> children = new ArrayList<>(); //using given key you can get children list 

}

, 당신은 teamA, teamB을 포함 목록을 가져옵니다. 따라서 체크하고 싶으면 목록 크기를 확인하고, 0보다 크면 아이들을 얻을 수 있습니다 (추가로 teamA, teamB 모두에 대해 정의 된 모든 선수를 획득 할 수 있습니다). 그렇지 않으면 마지막 아이입니다.

+0

@Malav에게 감사드립니다. 동일한 접근 방식으로 구현됩니다. –