2013-11-27 2 views
0

나는 트리 구조를 가지고 있으며 각 하위 노드가 가지고있는 데이터 부모 변수에 부모 노드를 추가 할 수 있기를 원합니다.부모 노드를 트리에 추가 하시겠습니까?

트리의 구조는 다음과 같습니다

Class Tree { 
    Node root; 
} 

Class Node { 
    String data; 
    Node parent; 
    List<Node> children; 
} 

어떤 제안?

 A 
    /\ 
    D E 
    /\ 
     B S 

E의 부모가 그것은을해야 할 때, 그 이유는 D입니다 :

편집은 코드와 주어진 트리

public void addParent() { 
    for (Node child : curNode.children) { 
     child.parent = curNode; 
     curNode = child; 
     findDFS(value); 
    } 
    return null; 
} 

구체적으로?

+1

현재이 질문은 매우 모호합니다. 시도한 내용과 직면 한 문제에 대한 몇 가지 예를 게시하십시오. –

+0

내가 더 구체적으로 만들었습니다 – user2998228

+0

당신은 E의 부모가 A라는 것을 의미합니까? 또한, 자녀를위한 목록을 작성한 이래로 부모는 자녀가 2 명 이상이거나 2 명 이상일 수 있습니까? – chuthan20

답변

0

E의 부모는 A 일 때 D이고, 그 이유는 무엇입니까? 루프에서

당신은 일을하는지 :

for (Node child : curNode.children) { 
    child.parent = curNode; 
    curNode = child; // <-- problem is here!!! 
    findDFS(value); 
} 

는 의미 : 첫 번째 루프에서 현재 노드에 아이를 할당하고 첫 번째 자식으로 함께 다음 아이를 통해 반복을 계속하고 있습니다 "부모"그리고 다시 ...

관련 문제