먼저 직관적으로 생각해 봅시다. 최상의 시나리오에서 트리는 완벽하게 균형을 이룹니다. 최악의 시나리오에서 트리는 전체적으로 불균형합니다.
루트 노드에서 시작하는 이 좌측 트리 가지고 두번 트리 갖도록 이어지는 각 깊이에서 많은 노드로서 N = Σ H 난 = 0 (2) I = 2 H + 1 - 1 개 노드와 높이 (H) 에있다 ( 이 경우 3). 약간의 수학으로 n ≤ 2 h + 1 − 1 → h ≤ ⌈ log 2 ( n + 1 ) − 1 ⌉ ≤ ⌊ l opn=∑hi=02i=2h+1−1h , 즉높이가 O ( log n ) 입니다. 완전히 불균형 한 나무의 경우, 나무의 높이는 단순히 n - 1 → O ( n ) 입니다. 우리는 한계가 있습니다.n≤2h+1−1→h≤⌈log2(n+1)−1⌉≤⌊log2n⌋O(logn)n − 1 → O ( n )
정렬 된리스트 에서 균형 트리를 구성하는 경우 루트 요소로 중간 요소를 선택합니다. 대신 무작위로 나무를 구성하는 경우, n 개의 노드 중 하나가 동일하게 선택 될 수 있으며 나무의 높이는 다음과 같습니다 : h e i g h t t r e e = 1 + max ( h e i g h t l e f t s u b t r e{ 1 , 2 , … , n }엔
이진 검색 트리에서 왼쪽 하위 트리에는 루트 노드보다 작은 키만 포함해야한다는 것을 알고 있습니다. 우리는 랜덤하게 선택하는 경우 즉, I t의 시간 요소를 좌측 서브 트리를 갖는다I-1 개소자 및 오른쪽 하위 트리 갖는N-난그래서 더 콤팩트 요소 : H , N =1+최고( H I를 -
H 예 I g시간 tt R E E= 1 개 + 최고 ( H 예 I g시간 tL 개의 전자 Ft s u b t r e e , H 예 I g시간 tr 나는 gh t s u b t r e e )
나는t의 시간난 − 1N - 난. 거기에서 각 요소가 똑같이 선택 될 가능성이 높으면 예상 값은 가중 평균이 아닌 모든 사례의 평균에 불과합니다. 따라서 :
E[ h n ]= 1h엔= 1 + 최대 ( h난 − 1, hN - 난)이자형[ h엔] = 1엔∑엔나는 = 1[ 1 + 최대 ( h난 − 1, hN - 난) ]
와이엔= 2h엔와이엔= 2 × 최대 ( Y난 − 1, YN - 난).
이자형[ Y엔] = ∑나는 = 1엔1엔이자형[ 최대 2 × ( Y난 − 1, YN - 난) ] = 2엔∑나는 = 1엔이자형[ 최대 ( Y난 − 1, YN - 난) ]
1엔∑나는c i = c ∑나는나는이자형[ a x ] = a E[ x ]최대엑스와이이자형[ 최대 ( X, Y) ] ≤ E[ 최대 ( X, Y) + 분 ( X, Y) ] = E[ X] + E[ Y]이자형[ Y엔] ≤ 2엔∑나는 = 1엔( E[ Y난 − 1] + E[ YN - 난] ) = 2엔∑나는 = 0n - 12 전자[ Y나는]
나는 = 1와이난 − 1= Y0와이N - 난= Yn - 1나는 = n와이난 − 1= Yn - 1와이N - 난= Y0와이0와이n - 1이자형[ Y엔] ≤ 4엔∑n - 1나는 = 0이자형[ Y나는]
이 시점에서 CLRS는 유도 증거 가져옵니다.이자형[ Y엔] ≤ 14( n+3삼)∑n - 1나는 = 0( 나는+3삼) = ( n+34)엔삼와이엔= 2h엔h엔= 로그2엔삼= 3 로그2n → O ( 로그n )엔케이케이
2이자형[ X엔]≤ E[ Y엔] ≤ 4엔∑나는 = 0n - 1이자형[ Y나는] ≤ 14( n+3삼) =(n+3)(n+2)(n+1)24→ 전자[ h엔]= O ( 로그n )