2012-11-09 4 views
0

나는 부모 - 자녀 관계를 연구 중이다. 가능한 관계는 1. 노드가 많은 아이들이 많은 부모부모 - 자식 관계 (링크 된 목록)

을 가질 수 많은 부모 3. 노드를 가질 수 많은 어린이 2. 노드를 가질 수 있습니다

노드는 많은 부모가 있고 사용자가 선택 (아이를 말할 수) 때 부모 중 하나를 삭제하면 특정 노드를 삭제하면 안됩니다. 하지만 그 부모 만 삭제하십시오. 나는 C#을 4.0

에 우리가 가지고있는 모든 디자인 패턴이나 참조 할 수있는 링크를 사전을 사용하고

.

공유하십시오. 나는하지는 경우

당신에게

+1

레코드의 경우 이것은 링크 된 목록이 아닙니다. 링크 된 목록은 각 노드에 부모 노드와 자식 노드가 하나씩있는 경우입니다. 단일 루트가 있고 순환이 없으면이 트리가 트리가 될 수 있습니다. 그렇지 않다면 그래프 일뿐입니다. – Servy

+0

여기에 시간을 할애하여 허용되는 질문 방법을 확인하십시오. 의미가 없도록 질문을 수정하지 않으면 문을 닫을 것입니다. – nawfal

답변

1

감사 missunderstand 질문 : m 관계 :

  • 당신은 N을 만들려고합니다. 당신하지는
  • 은 클래스를 통합 할 수 있습니다이를 위해

을 계단식 삭제 사용 (부모가 삭제 될 경우 다른 노드에 영향을주지 않습니다)합니다. Here's 일부 코드 :

public class Node 
{ 
    public List<Node> Children { get; set; } 
    public List<Node> Parents { get; set; } 
    public string Name { get; set; } 
    // whatever 

    public Node() 
    { 
     Children = new List<Node>(); 
     Parents = new List<Node>(); 
    } 
} 

리스트 부모가 정말 필요는 없지만, 그것으로는 (노드가 자식 노드 검색하지 않고) 부모 노드에 액세스하는 것이 더 쉽습니다.

+0

나는 그의 질문을 오해하지 않으면 그는 디자인 패턴에 대해 묻고 있다고 생각합니다. 실제 구현이 아닙니다. 그러나 나는 확실하지 않다. – Default