평균 트리의 모든 노드의 깊이를 최소화하면서 트리의 높이를 최대화하려는 경우 모호하지 않은 최상의 모양은 "우산"모양입니다. k 노드와 높이가 1g k 인 완전한 이진 트리. 여기서는 전체 경로의 잎 중 하나에서 나오는 n-k 노드의 단일 경로 또는 "꼬리"와 함께 0 < k < n이 사용됩니다. 이 나무의 높이는 대략 lg k + n - k입니다.
이제 모든 노드의 전체 깊이를 계산해 봅시다. 전체 파트의 노드 깊이의 합은 sum [j * 2^j]입니다. 여기서 합계는 j = 0에서 j = lg k까지입니다. 일부 대수학의 경우 결과의 지배적 인 용어는 2k lg k입니다.
다음으로, 꼬리 부분의 깊이의 합은 sum [i + lg k]에 의해 주어지며, 여기서 합은 i = 0에서 i = n-k로 취해진 다. 일부 대수학의 결과는 대략 (n-k) lg k + (1/2) (n-k)^2입니다.
위의 두 부분을 합친 다음 n으로 나누면 모든 노드의 평균 깊이는 (1 + k/n) lg k + (n-k)^2/(2n)이됩니다. 0 < k < n이기 때문에 첫 번째 항목은 어떤 k를 선택하든 O (lg n)입니다. 따라서 두 번째 항이 O (lg n)인지 확인하면됩니다. 그렇게하기 위해서는 (n-k)^2 = O (ng n) 또는 k = n-O (sqrt (ng n))이 필요하다. 이로서, 트리의 높이이다
엑스 K + N - = O (SQRT (N 엑스 N))
이 통상 O (엑스 N)보다 점근 크고, 점근 적이다 K 가장 큰 것은 평균 깊이를 유지하면서 나무를 만들 수 있습니다. (lg n)
'w'는'ω' (소문자 오메가)를 뜻합니다, 맞습니까? – Gumbo
@ 검보 그래, 고마워. – meteorgan