임의로 구성된 이진 검색 트리의 로그 높이가 증명


10

n 개의 노드를 가진 무작위로 빌드 된 이진 검색 트리 의 예상 높이 가 O ( log n ) 임을 어떻게 증명 합니까? CLRS 알고리즘 소개 (12.4 장)에 증거가 있지만 이해가되지 않습니다.엔영형(로그⁡엔)


1
어떤 질문? 어떤 예입니까? 자세한 내용을 수정하고 알려주십시오.
— Ran G.

3
약어 (예 : BST)를 사용하지 말고 우리 대부분은 CLRS 책이 없다고 가정하십시오. 여기에서 정리를 복사하고 이해하지 못하는 것이 무엇인지 설명하면 더 많은 답변을 얻을 수 있습니다.
— Ran G.

2
이것은 바이너리 검색 트리가 어떻게 구축 되는지 에 달려 있습니다. (결과가 맞지 않더라도 증거는 유효합니다.) 더 자세한 내용이 유용 할 것입니다.
— 피터 쇼어

답변:


21

먼저 직관적으로 생각해 봅시다. 최상의 시나리오에서 트리는 완벽하게 균형을 이룹니다. 최악의 시나리오에서 트리는 전체적으로 불균형합니다.

균형 잡힌 이진 검색 트리최악의 이진 검색 트리

루트 노드에서 시작하는 이 좌측 트리 가지고 두번 트리 갖도록 이어지는 각 깊이에서 많은 노드로서 N = Σ H 난 = 0 (2) I = 2 H + 1 - 1 개 노드와 높이 (H) 에있다 ( 이 경우 3). 약간의 수학으로 n ≤ 2 h + 1 − 1 → h ≤ ⌈ log 2 ( n + 1 ) − 1 ⌉ ≤ ⌊ l opn=∑i=0h2i=2h+1−1h , 즉높이가 O ( log n ) 입니다. 완전히 불균형 한 나무의 경우, 나무의 높이는 단순히 n - 1 → O ( n ) 입니다. 우리는 한계가 있습니다.n≤2h+1−1→h≤⌈log2⁡(n+1)−1⌉≤⌊log2n⌋O(log⁡n)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}n 이진 검색 트리에서 왼쪽 하위 트리에는 루트 노드보다 작은 키만 포함해야한다는 것을 알고 있습니다. 우리는 랜덤하게 선택하는 경우 즉, I t의 시간 요소를 좌측 서브 트리를 갖는다I-1 개소자 및 오른쪽 하위 트리 갖는N-난그래서 더 콤팩트 요소 : H , N =1+최고( H I를 -

hei지h티티아르 자형이자형이자형=1+최대(h이자형나는지h티엘이자형에프티 에스유비티아르 자형이자형이자형,h이자형나는지h티아르 자형나는지h티 에스유비티아르 자형이자형이자형)
나는티h나는−1엔−나는. 거기에서 각 요소가 똑같이 선택 될 가능성이 높으면 예상 값은 가중 평균이 아닌 모든 사례의 평균에 불과합니다. 따라서 :E[ h n ]= 1h엔=1+최대(h나는−1,h엔−나는)이자형⁡[h엔]=1엔∑나는=1엔[1+최대(h나는−1,h엔−나는)]

와이엔=2h엔와이엔=2×최대(와이나는−1,와이엔−나는).

이자형⁡[와이엔]=∑나는=1엔1엔이자형⁡[2×최대(와이나는−1,와이엔−나는)]=2엔∑나는=1엔이자형⁡[최대(와이나는−1,와이엔−나는)]
1엔∑나는씨나는=씨∑나는나는이자형⁡[ㅏ엑스]=ㅏ이자형⁡[엑스]최대엑스와이이자형⁡[최대(엑스,와이)]≤이자형⁡[최대(엑스,와이)+분(엑스,와이)]=이자형⁡[엑스]+이자형⁡[와이]
이자형⁡[와이엔]≤2엔∑나는=1엔(이자형⁡[와이나는−1]+이자형⁡[와이엔−나는])=2엔∑나는=0엔−12이자형⁡[와이나는]
나는=1와이나는−1=와이0와이엔−나는=와이엔−1나는=엔와이나는−1=와이엔−1와이엔−나는=와이0와이0와이엔−1이자형⁡[와이엔]≤4엔∑나는=0엔−1이자형⁡[와이나는]

이 시점에서 CLRS는 유도 증거 가져옵니다.이자형⁡[와이엔]≤14(엔+삼삼)∑나는=0엔−1(나는+삼삼)=(엔+삼4)엔삼와이엔=2h엔h엔=로그2⁡엔삼=삼로그2⁡엔→영형(로그⁡엔)엔케이케이

2이자형⁡[엑스엔]≤이자형⁡[와이엔]≤4엔∑나는=0엔−1이자형⁡[와이나는]≤14(엔+삼삼)=(엔+삼)(엔+2)(엔+1)24→이자형⁡[h엔]=영형(로그⁡엔)

와우 고마워 !!!! 예상 가치에 대해 잘 모르지만 이러한 종류의 의미가 있습니다. 알고리즘을 수행하기 전에 신중한 수학 과정을 수행하지 않았습니다. 의심스러운 점이 있으면 더 많은 의견을 게시 할 것입니다. 감사합니다
— user1675999

그러나 왜 지수 높이가 선택한 이항보다 작거나 같습니까? 나는 왜 우리 가 다른 가장 큰 항을 가진 다른 이항 법을 선택할 수없고 정확히 같은 수학을 할 수 없는지 이해하지 못합니다 . 아마 바보 일지 모르지만 나는 왜 그런지 알 수 없습니다 ... 완벽하게 이해되면, 그들은 단지 파란색에서 완전히 무언가를 끌어 내야했으며 아무런 설명도없이 그것들이 옳다는 것을“증명”한다고 말해주었습니다.
— Zeks

@Zeks 따라서 더 큰 항을 가진 다른 이항을 선택할 수 있습니다. 항이 여전히 다항식 ( n^k) 인 k경우 big-O 표기법 (3이 삭제 된 방식)으로 삭제 되므로 결론은 같습니다 . 우리가 뭔가 지수 (치환한다면 e^n), 그것은 여전히 것이 올바른 단지가 아닌, 상한 꽉 하나. 우리는 예상 높이가 최소한 대수임을 알고 있으므로 최대 대수라고 결정하면 꽉 조입니다.
— Merbs

@DavidNathan 나는 당신의 관심사를 이해하지 못합니다-1 / n이 상수인지 또는 합산 밖으로 이동할 수 있는지 의심 스럽습니까? 상수 2와 마찬가지로 나머지 증거를 단순화하기 위해 설명 목적으로 크게 취해집니다.
— Merbs
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.