Изменения

Перейти к: навигация, поиск

Фибоначчиева куча

811 байт добавлено, 00:40, 9 марта 2012
Структура
== Структура ==
* Каждый узел <tex>x</tex> в куче <tex>H</tex> содержит следующие указатели и поля:** <tex>key[x]</tex> — поле, в котором хранится ключ;** <tex>p[x]</tex> — указатель на родительский узел;** <tex>child[x]</tex> — указатель на один из дочерних узлов;** <tex>left[x]</tex> — указатель на левый сестринский узел;** <tex>right[x]</tex> — указатель на правый сестринский узел;** <tex>degree[x]</tex> — поле, в котором хранится количество дочерних узлов;** <tex>mark[x]</tex> — логическое значение, которое указывает, были ли потери узлом <tex>x</tex> дочерних узлов, начиная с момента, когда <tex>x</tex> стал дочерним узлом какого-то другого узла.* Дочерние узлы <tex>x</tex> объединены при помощи указателей <tex>left</tex> и <tex>right</tex> в циклический двусвязный список.* Корни всех деревьев в <tex>H</tex> связаны при помощи указателей <tex>left</tex> и <tex>right</tex> в циклический двусвязный список корней.* Обращение к <tex>H</tex> выполняется посредством указателя <tex>min[H]</tex> на корень дерева с минимальным ключом. Этот узел называется минимальным узлом <tex>H</tex>.* Текущее количество узлов в <tex>H</tex> хранится в <tex>n[H]</tex>.
== Операции ==
403
правки

Навигация