- Задание на 4
- function avlDeleteSimple(var root : PTreeNode; n : PTreeNode) : PTreeNode;
- root -- корень сбалансированного дерева
- n -- вершина, у которой не более одного сына
- удалить вершину n
- исправить баланс в вершинах выше n
- вернуть самую нижнюю вершину, в которой значение баланса стало по модулю равно 2
- или nil, если баланс всех вершин остался допустимым
- Задание на 5
- procedure avlDelete(var root : PTreeNode; n : PTreeNode);
- root -- корень сбалансированного дерева
- n -- произвольная вершина этого дерева
- удалить n
- если после удаления баланс нарушился, выполнить балансировку
- после этого может нарушиться баланс родителя той вершины, которую балансировали
- тогда нужно балансировать его
- и т.д.
|
|