Understand the maximum number of elements in a subtree happens for the left subtree of a tree that has the last level half full.Draw this on a piece of paper to realize this.
Як тільки це стане ясно, межу 2N / 3 легко отримати.
Припустимо, що загальна кількість вузлів у дереві дорівнює N.
Кількість вузлів у дереві = 1 + (Кількість вузлів у лівому піддереві) + (Кількість вузлів у правому піддереві)
У нашому випадку, коли дерево має останній рівень наполовину заповнений, iF ми припускаємо, що праве піддерево має висоту h, тоді ліве піддерево, якщо висоти (h + 1):
Кількість вузлів у лівому піддереві = 1 + 2 + 4 + 8 .... 2 ^ (h + 1) = 2 ^ (h + 2) -1 ..... (i)
Кількість вузлів у правому піддереві = 1 + 2 + 4 + 8 .... 2 ^ (h) = 2 ^ (h + 1) -1 ..... (ii)
Таким чином, підключаючи до:
Кількість вузлів у дереві = 1 + (Кількість вузлів у лівому піддереві) + (Кількість вузлів у правому піддереві)
=> N = 1 + (2^(h+2)-1) + (2^(h+1)-1)
=> N = 1 + 3*(2^(h+1)) - 2
=> N = 3*(2^(h+1)) -1
=> 2^(h+1) = (N + 1)/3
Підключаючи це значення до рівняння (i), отримуємо:
Number of nodes in Left Subtree = 2^(h+2)-1 = 2*(N+1)/3 -1 =(2N-1)/3 < (2N/3)
Отже, верхня межа максимальної кількості вузлів у піддереві для дерева з N вузлами дорівнює 2N / 3.