2011-12-21 4 views
1

나는 꽤 기본적인 것들로 생각되는 것에 약간의 문제가 있습니다. 그럼에도 나는 아무것도 찾을 수없는 것 같습니다. 아마도 올바른 질문을하지 않을 것이기 때문일 것입니다.속성 집합에서 계층 구조 만들기

데이터 A, B, C = (a, b, c), (a, b, d), (a, e, f)의 세 가지 (잠재적으로 중복되는) 데이터 세트가 있다고 가정 해 봅시다.

필요한 도구는 나를위한 계층 구조를 제안하는 것입니다. 그래서 같이

는 : 현실에서

 (a) 
    (b) (ef) 
(c) (d) 

훨씬 더 많은 세트와 각 세트 내의 속성 많이있다하지만 그들은 모두 밀접하게 관련되어 내가 수동으로 찾아 계층 구조를 구축하고 싶지 않아요.

답변

2

평이한 튜플을 사용하여 계층 구조를 만들려면 트리 (또는 오히려 포리스트)를 빌드하십시오. 귀하의 경우 트리에서

 c 
    /
    b - d 
/
a - e -f 

알고리즘과 같을 것이다하는 것은 간단하다 :

  • 튜플
  • 이 값 숲에서 상위 요소를 찾을에서 첫 번째 요소를 선택 (또는 하나를 만들 찾을 수없는 경우)
  • 튜플에서 다음 값 선택
  • 일치하는 요소 amon g 이전에 발견 된 노드의 자식.
  • PROFIT까지 반복