2010-05-20 10 views
2

트리 데이터 구조로 작업 중이며 트리의 노드에서 얻을 수있는 정보를 계산하는 방법을 찾고 있습니다.트리의 노드에서 정보 얻기

더 높은 수준과 높은 빈도에서 같은 노드 모양보다 낮은 수준 (트리의 루트로부터의 거리)에 덜 자주 나타나는 노드에 더 높은 수치 중요성을 할당 할 수있는 기존 기술이 있는지 궁금합니다.

예를 들자면 레벨 2가 한 번 나타나는 노드 Book에 더 많은 의의를주고 싶습니다. 다음에 레벨 3이 세 번 나타납니다.

유사한 점을 달성하는 기법에 대한 제안이나 조언을 주시면 감사하겠습니다.

감사합니다,

Prateek 난 그냥 생각 메트릭

+0

트리에서 각 노드가 한 번 나타나지 않습니까? 한 노드가 두 번 이상 나타나면 그주기에 해당합니다.이 경우에는 더 이상 나무가 아닙니다. – WhirlWind

+0

노드는 표시되는 특정 분기 및 표시되는 레벨에 따라 고유하게 식별됩니다. 그러므로, 그렇지 않습니다. 그러나 레이블은 노드에 대해 동일 할 수 있습니다. – jainp

답변

1

하나입니다 : 라벨 k을 위해, 그것은 "값"이 나타납니다 수준의 합계하자. 따라서 루트와 루트의 왼쪽 자식에 나타나는 경우 값은 1이됩니다.

그런 다음 가장 중요한 레이블은 가장 값이 작은 레이블입니다.

편집 : 루트가 둘 다 같더라도 루트 레이블을 자식 레이블보다 중요하게 만듭니다. 따라서 발생 횟수에 의한 일부 조정이 순서대로 이루어질 수 있습니다.

1

각 레벨에서 얼마나 중요한지 알려주세요.

트리의 레벨을 아래로 이동하면 숫자가 증가합니다. 예 : n_nodes * 1/(3^n). 여기서 n은 트리의 레벨입니다. 따라서 레벨 2의 노드는 1/4의 값을 가지며 레벨 3의 노드 3 개는 1/9의 값을 얻습니다. 따라서 레벨 2의 단일 노드가 더 중요합니다.

원하는대로 분모를 조정하십시오. n이 증가하면 트리의 상위 노드에 더 많은 중요성을 부여합니다.