Изменения

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

Корневая декомпозиция с операциями: get, insert, erase

18 байт добавлено, 22:38, 17 января 2017
Операция \mathrm{rebuild}
Вторая необходимая операция {{---}} <math>\mathrm{rebuild}</math>. Заметим, что после операций <math>\mathrm{split}</math> количество блоков увеличивалось, а работа всех функций зависит от этого числа. Для того чтоб <math>cnt</math> не стало слишком большим будем полностью перестраивать структуру изменяя <math>cnt</math> на базовое значение равное <math>cnt = \left\lceil \dfrac{n}{len} \right\rceil</math>.
Будем восстанавливать из актуальных блоков массив <math>A</math>. Потом очищать все текущие блоки, а затем вызывать операцию <math>\mathrm{build}</math> для построение новой структуры.
* Восстановим актуальную версию массива <math>A</math>
* Очистим массивы <math>B, L, R</math>, удалив все текущие блоки
* Вызовем операцию <math>\mathrm{build}</math>
<code>
7
правок

Навигация