Мне интересно, есть ли фундаментальная проблема для повторного балансировки дерева AVL. Согласно нескольким учебным пособиям, для вставки AVL, максимум 2 вращается, он может быть сбалансирован. Однако это может зависеть от того, что называется сбалансированным. Следуйте за link, чтобы увидеть дерево.AVL tree perfect balancing issue
Первоначально он имеет 6 элементов. Предположим, что мы ввели последнее значение как 3 или 4,5 или 5,5 или 6,5. Во всяком случае, он будет вставлен с левой стороны снизу. Как всего 7 деревьев элементов, для идеальной балансировки, я буду считать, что он имеет только 3 строки.
Это приведет к тому, что новый корень будет равен 6 или 6.5 (если мы вставим 6.5). Я действительно не могу найти способ перебалансировать его за 2 оборота. Если мы будем только определять «баланс», 4-строки по-прежнему называются сбалансированными, но это приведет к увеличению времени поиска.
Я что-то упустил?
В случае картина была удалена, ниже текстовая версия:
7 5 9 4 6 8 Empty_slot 3 or 4.5 or 5.5 or 6.5
Согласитесь с этим: он по-прежнему сбалансирован, из определения дерева AVL. Мой реальный вопрос: если это означает много пустых мест, когда оно идет глубже? – Lino
«Сбалансированный» аспект AVL означает, что количество пустых мест ограничено. Это компромисс между многими пустыми точками (что увеличивает время прохождения) и делает для многих поворотов (что увеличивает время вставки) – Amxx
Спасибо Amxx. Я куплю это. – Lino