Изменения

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

Толстая куча на избыточном счётчике

Нет изменений в размере, 22:41, 7 июня 2015
Счетчик нарушений
'''Счетчик нарушений''' представлен [[Саморасширяющийся массив|саморасширяющимся массивом]], элементы которого состоят из четырех полей:
*<tex>CountViolationcountViolation[i].Value</tex> {{---}} количество неправильных узлов ранга <tex>i</tex> в куче.*<tex>CountViolationcountViolation[i].ForvardPointerforvardPointer</tex> {{---}} прямой указатель <tex>i</tex>-го разряда*<tex>CountViolationcountViolation[i].FirstViolationfirstViolation</tex> {{---}} указатель на неправильный узел ранга <tex>i</tex>*<tex>CountViolationcountViolation[i].SecondViolationsecondViolation</tex> {{---}} указатель на неправильный узел ранга <tex>i</tex>
}}
Для '''инициализации''' нового звена в счетчике нарушений необходимо лишь занулить его значение в новом разряде. Делается это только тогда, когда мы вводим в кучу новое дерево ранга <tex>MaxRank maxRank + 1</tex>. Это первый момент появления в куче узла ранга <tex>MaxRank maxRank + 1</tex>. Для тех нарушений, которые могут возникнуть в узлах ранга меньше либо равного <tex>MaxRank maxRank + 1</tex>, соответствующие разряды счетчика нарушений уже инициализированы, а узлов большего ранга в куче пока нет.
=Основные операции=
Анонимный участник

Навигация