Нижняя граница - пути с ветвящимися узлами, если в дереве есть хотя бы ветвящихся узлов.O ( log n ) Ω ( log n )Ω ( журналн )O ( журналн )Ω ( журналн )
Это может быть достигнуто: используйте дерево, которое имеет один длинный путь (длина ), все узлы которого являются узлами ветвления, без других узлов ветвления в дереве.N
Вот эскиз нижней границы.
Во-первых, уплотните дерево, сжимая любой внутренний узел, который не является ветвящимся узлом. Если исходный размер дерева был , новое дерево все равно должно быть , поскольку вы только сократили количество узлов. Теперь глубина листа - это число ветвящихся узлов на исходном пути к этому листу, и у нас есть полное двоичное дерево (каждый узел имеет степень 2 или 0). < n c< пс< пс
Если нет листьев глубины , то число путей на единицу больше, чем число ветвящихся узлов, которое равно , поэтому мы можем предположить, что хотя бы один лист имеет глубина .Ω ( log n ) Ω ( log n )Ω ( журналн )Ω ( журналн )Ω ( журналн )
Далее вспомним неравенство Крафта. Если глубина листа в полном двоичном дереве равна , то .Σ v l e a f 2 - d ( v ) = 1d( v )ΣV l e a f 2- г( v )= 1
Теперь у нас меньше, чем листьев. Мы хотим показать, что у нас их много на глубине . Предположим, мы исключаем из рассмотрения те, которые имеют глубину не менее . Это убирает не более веса из суммы в неравенстве Крафта, поэтому для этих листьев на глубине не более , мы имеем . У нас также есть (поскольку по крайней мере один лист имеет слишком большую глубину, чтобы включить его в эту сумму). O ( log n ) log 2 ( n c + 1 ) = ( c + 1 ) log 2 n 1 / n v d ( v ) ≤ ( c + 1 ) log 2 n ∑ v l o w d e p t h l e a f 2 - d ( vNсO ( журналн )журнал2(nc+1)=(c+1)log2n1/nvd( v ) ≤ ( c + 1 ) log2NΣv л о ж д е р т ч л е с п 2- г( v )> 1 - 1NΣv л о ж д е р т ч л е с п 2- г( v )< 1
Довольно легко показать, что для получения суммы чисел строго между и нам нужно по крайней мере из них. Это показывает, что существуют пути с ветвящимися узлами.2−k11−1nlog2nΩ(logn)O(logn)