Изменения

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

Дерево отрезков. Построение

2 байта добавлено, 13:33, 1 июня 2013
м
Псевдокод
if Tree.isFullBinary(ver)
Node tmpRoot = new Node();
roots[Tree.countOfVersions() ++ + 1] = recAdd(tmpRoot, null, 0, 2 * Tree.size(ver), x, Tree.size(ver) + 1);
else
// k : 2 ^ (k - 1) <= Tree.size(ver) < 2 ^ k
roots[Tree.countOfVersions() ++ + 1] = recAdd(roots[ver], null, 0, 2 ^ k, x, Tree.size(ver) + 1);
Node recAdd(node, parent, l, r, x, n)
tmp.valueOfFunction = f(tmp.L, tmp.R);
if(node.parent == null)
roots[Tree.countOfVersions() ++ + 1] = tmp;
return tmp;
</code>
Здесь функции <tex>recAdd()</tex> и <tex>change()</tex> возвращает указатель на узел новой ветки.
==Ссылки==
38
правок

Навигация