2009-03-18 5 views
0

개 사육 정보, 식물 유전 번식 및 복잡한 인간 관계와 같은 표준 데이터 구조가 있어야합니다.자손 관계에 사용할 수있는 최상의 데이터 구조는 무엇입니까?

하나는 쉽게 나무 구조라고 생각할 수 있지만, 자손 당 2 개 이상의 부모 (유전자 공학을위한 부모), 부모 당 여러 개의 다른 자손 세트, 부모의 여러 번 움직이는 것 (많은 수의 스터드 말들이 말), 입양 등은 매우 분열 된 구조로 만듭니다.

나는 누군가가 이것을 전에 달려 들기를 기대한다. 내가 조사해야 할 자원이 있습니까?

답변

2

내가 무엇을해야하는 등 물론

주요 관계 "child_of가", "direct_descendant"그냥 단순한 관계형 데이터베이스, 생각, 여기에 특정 데이터 구조는 비순환, 당신은 할 수 있습니다 표준 SQL 엔진에서 일반적으로 지원하지 않는 전이 쿼리 (...의 자손)를 수행합니다.

메모리에서 수행하려는 경우 직접 비순환 그래프 (DAG)를 사용할 수 있습니다.

+0

대부분의 SQL 엔진은 사용자가 설명하는 것을 수행하는 재귀 쿼리를 지원합니다. MySQL은 FROM 절을 사용합니다. –

+0

예, FROM이 하위 쿼리를 생성하지만 전이 쿼리 ("임의적으로 많은"후손)가 해당 패턴과 일치하지 않습니다. 모든 "발신자"는 하나의 하위 단계 만 처리 할 수 ​​있습니다. –

1

냄새는 DAG입니다. 유도 형 및 비순환 형이 너무 제한적일 경우 graph theory data-structures을 볼 수 있습니다.

추상 문제에 대한 그래프를 사용하면 정점은 엔티티를 나타내고 가장자리는 관계를 나타냅니다.