Решил разобраться со структурой данных - деревья. Нашел книгу - Бабичев С.В. - Лекции по алгоритмам и структурам данных. 2020.
Она доступна по ссылке.
На 184 странице дается формула. Вывод формулы мне не совсем понятен.
Определение 26. Случайное бинарное дерево T размера n — дерево, получающееся из пустого бинарного дерева поиска после добавления в него n узлов с различными ключами в случайном порядке, при условии, что все n! возможных последовательностей добавления равновероятны.
Определим его среднюю глубину.
Пусть
— средняя глубина всех узлов случайного дерева с
узлами. Как оно получилось? Вначале был добавлен какой-то узел, пусть он имеет значение
. Так как как все события равновероятны, то вероятность того, что первым был добавлен именно узел
есть
.
И слева и справа от этого узла есть поддеревья, возможно нулевой высоты. Они начнутся с высоты 1. В левом поддереве окажутся элементы
, в правом —
.
Средняя высота левого поддерева равна
, правого —
). Математическое ожидание высоты случайного дерева, следовательно, будет равно
Используя предел
получаем
Отсюда можно сделать вывод, что и средняя глубина узлов случайного бинарного дерева, и средние времена выполнения операций вставки, удаления и поиска в случайном бинарном дереве есть
.
Мне не совсем понятен общий вывод этой формулы, ее упрощение, и каким образом там используется предел?