AVL-дерево - это просто сбалансированное бинарное дерево поиска.Операции с кучей, о которых вы спрашивали, могут быть легко реализованы с использованием стандартных операций AVL.
- insert - Просто вставьте в дерево AVL, как обычно.
- максимум - я полагаюты имеешь в виду найти макс.Максимальный элемент в дереве AVL - самый правый узел.Так что просто начните с корня, пройдите правые указатели до конца и верните листовой узел.
- extract-max - найдите максимальный узел, как указано выше, и удалите его.
- увеличения-ключаи клавиша уменьшения - выполните стандартный поиск двоичного дерева, чтобы найти интересующий вас узел. Удалите его из дерева.Изменить ключ.Повторно вставьте в дерево.
Обратите внимание, что это будет не так эффективно, как очередь с двоичной приоритетной кучей, но будет работать.