Блок задач

3. Структуры данных

Темы
Сложность 8

Задача «AVL-дерево»

Реализовать модуль для работы с АВЛ-деревьями (подробнее можно посмотреть в лекции и в вики).

Интерфейс должен быть идентичен обычному дереву поиска (см. вот эту задачу). Все требования по задачи аналогичны.

Дополнительно на каждом шаге тестов необходимо проверять корректность АВЛ-дерева: для каждой его вершины высота её двух поддеревьев должны различается не более чем на 1. Для этого нужно добавить в модуль соответствующую функцию check(tree).