Изменения

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

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

817 байт добавлено, 23:20, 22 мая 2013
Счетчик нарушений
==Счетчик нарушений==
Заметим, что '''счетчик нарушений''' очень похож на '''корневой счетчик''' выше, но в отличие от второго:
*Нас теперь интересует не само число, а только значения разрядов.
*Операция фиксации тесно связана с толстой кучей.
 
Значение <tex>i</tex>-го разряда для счетчика нарушений интерпретируется как количество неправильных узлов ранга <tex>i</tex> , а его списочная часть — это указатели на неправильные узлы ранга <tex>i</tex> .
 
'''Счетчик нарушений''' состоит из расширенного избыточного двоичного представления и набора списочных элементов.
 
'''Счетчик нарушений''' представлен [[Саморасширяющийся массив|Саморасширяющимся массивом]], элементы которого состоят из четырех полей:
*<tex>CountViolation[i].Value</tex> {{---}} количество неправильных узлов ранга <tex>i</tex> в куче.
*<tex>CountViolation[i].SecondViolation</tex> {{---}} указатель на неправильный узел ранга <tex>i</tex>
Заметим, что '''счетчик нарушений''' очень похож на '''корневой счетчик''' выше.
 
Для '''инициализации''' нового звена в счетчике нарушений необходимо лишь занулить его значение в новом разряде. Делается это только тогда, когда мы вводим в кучу новое дерево ранга <tex>MaxRank + 1</tex>. Это первый момент появления в куче узла ранга <tex>MaxRank + 1</tex>. Для тех нарушений, которые могут возникнуть в узлах ранга меньше либо равного <tex>MaxRank + 1</tex>, соответствующие разряды счетчика нарушений уже инициализированы, а узлов большего ранга в куче пока нет.
{{Утверждение
|proof=
}}
 
Для '''инициализации''' нового звена в счетчике нарушений необходимо лишь занулить его значение в новом разряде. Делается это только тогда, когда мы вводим в кучу новое дерево ранга <tex>MaxRank + 1</tex>. Это первый момент появления в куче узла ранга <tex>MaxRank + 1</tex>. Для тех нарушений, которые могут возникнуть в узлах ранга меньше либо равного <tex>MaxRank + 1</tex>, соответствующие разряды счетчика нарушений уже инициализированы, а узлов большего ранга в куче пока нет.
=Основные операции=
497
правок

Навигация