Биномиальное дерево высоты k содержит ровно 2k вершин.

Название "биномиальное дерево" определил тот факт, что у любого биномиального дерева высоты k на глубине d находится ровно C(d,k) вершин, где C(d,k) – биномиальный коэффициент: C(m,n) = m(m-1)...(m-n+1) / 1*2*...*n

Любая последовательность из n элементов может быть представлена единственным образом как семейство биномиальных деревьев (не более одного дерева каждой высоты). Предположим, что n = 13, переведем это число в двоичную систему счисления:

1101
23222120

Это значит, что деревья B0, B2, B3 присутствуют в представлении, а дерево B1 – нет.

Т.к. существует не более log n биномиальных деревьев, то трудоемкость процедуры слияния двух биномиальных куч есть O(log n).

Трудоемкость процедуры добавления нового элемента в кучу есть O(log n).

Трудоемкость алгоритма создания биномиальной кучи есть O(n).

Трудоемкость процедуры удаления минимального элемента есть O(log n).

Hosted by uCoz