Публикации по теме 'avl-tree'


Двоичные деревья поиска: деревья AVL
Копание в деревьях AVL Дерево AVL — это тип самобалансирующегося бинарного дерева. Он назван в честь его авторов: А дельсон- Вельски и Л андис. В дереве AVL для каждого узла разница в высоте между левым и правым поддеревьями не может быть больше единицы. Чтобы гарантировать это, он проверяет после каждого добавления, что дерево все еще сбалансировано. Если нет, выполняются дополнительные операции. Эти операции называются вращениями. Левое вращение Левый поворот на узле N..

Вопросы по теме 'avl-tree'

Эффективный алгоритм построения дерева AVL из большой коллекции
У меня есть большое Дерево AVL , которое я строю несколько раз во время программы из несортированной коллекции (оно будет использоваться для вставки/удаления элементов позже). Есть ли лучший алгоритм, чем использование простой вставки для каждого...
4186 просмотров
schedule 20.04.2023

Конкатенация/слияние/объединение двух деревьев AVL
Предположим, что у меня есть два дерева AVL и что каждый элемент из первого дерева меньше, чем любой элемент из второго дерева. Каков наиболее эффективный способ объединить их в одно дерево AVL? Я искал везде, но не нашел ничего полезного.
17835 просмотров
schedule 18.07.2022

Вращение дерева AVL в Java
Я хочу реализовать дерево Java AVL и повернуть дерево влево и вправо. Я не понимаю этого. Может ли кто-нибудь, глядя на приведенный ниже код, сказать мне, как я могу повернуть дерево влево и вправо, а затем использовать исправление с этими двумя...
26379 просмотров
schedule 05.08.2023

Реализация дерева AVL для Java
Хорошо, я пытаюсь начать свое задание, но я понятия не имею, с чего начать в первую очередь и как будет выглядеть конечный результат. Это класс алгоритмов, поэтому он не показывает нам коды или что-то, что может помочь в программировании на Java. Мы...
1408 просмотров
schedule 26.12.2022

OrderedKAryTree отображается неправильно (JUNG2)
Я работал над графическим отображением операций AVL Tree с использованием JUNG2 (без анимации). Я использую OrderedKAryTree для того же. Но есть некоторые проблемы с рендерингом. Все ребра появляются от корня до верхнего левого угла кадра. Как...
86 просмотров
schedule 18.01.2024

Обновите код дерева AVL, чтобы выполнить поиск или вставку.
Я хотел бы использовать деревья AVL в конкретном алгоритме. Я делаю пакет R, поэтому хочу придерживаться реализаций C или C++ (в настоящее время использую реализацию C). Я получил базовый код для реализации дерева AVL с:...
279 просмотров
schedule 21.09.2022

Когда использовать хеш-структуру данных?
У меня есть коллекция предметов (максимум 500). Мои записи будут часто просматриваться на основе ключа типа MAC, диапазон которого неизвестен. Теперь я не понимаю, какую структуру данных и алгоритм использовать для эффективного поиска значений....
189 просмотров
schedule 08.12.2022

Рекурсивное глубокое клонирование Java
Добрый вечер. Я пытаюсь реализовать дерево AVL и столкнулся с проблемой копирования узлов в процессе вращения: Если я сделаю это с поверхностной копией, получится довольно предсказуемый хаос. Если я делаю это с ручной глубокой копией, я могу...
1242 просмотров
schedule 12.12.2022

Балансировка дерева AVL — C
Я пытался написать простую реализацию AVL Tree на C. Она также поддерживает повторяющиеся значения. Кажется, все работает нормально, но время от времени я получаю плохо сбалансированное дерево. Мне кажется, что функции вращения работают нормально,...
939 просмотров
schedule 11.03.2023

Попытка реализовать find в дереве avl
Я использую этот код https://rosettacode.org/wiki/AVL_tree#C.2B.2B в качестве основы для AVL-дерева. По умолчанию в примере используются целые числа, однако мне нужно хранить строки. Поэтому я изменил код для отладки, в основном сделав корневой...
39 просмотров
schedule 17.05.2022

Ошибка двойного вращения дерева AVL
Я работаю над проектом для школы, который включает в себя реализацию дерева AVL с использованием итеративной функции вставки, и у меня возникла проблема. Я не уверен на 100%, что я не делаю, но моя программа не дает правильного вывода. Вот что у...
225 просмотров
schedule 26.08.2022

AVL Rotation — какой узел вращать
Я прочитал много источников о деревьях AVL, но не нашел никого, кто занимался бы этой проблемой: когда дерево AVL становится несбалансированным, какой узел следует вращать первым? Предполагая, что у меня есть дерево: 10 / \ 5 25...
258 просмотров
schedule 19.02.2023

Указатели в AVL Tree Rotation
Мне трудно понять, почему работает приведенный ниже код вращения дерева. Если T2 указывает на y.left , а y.left указывает на x , не делает ли это последнее присваивание x.right = T2 равным x.right = x ? Разве указатель не должен указывать...
453 просмотров
schedule 13.04.2023

Не вращается правильно - AVL Tree, JAVA
Итак, вот мое задание. Напишите класс Java, который использует дерево AVL для хранения общих значений и ключей. Методы Конструктор Пункт списка Вставлять Удалить Найдите значение для ключа InOrder - вернуть массив со значениями в...
390 просмотров
schedule 07.07.2023

Исключение нарушения прав доступа при создании дерева AVL
Я пытаюсь создать идеально сбалансированное дерево AVL из вектора элементов. Я начал с небольшого количества элементов (8), чтобы проверить правильность алгоритма. Моя проблема возникает при печати значений из ДЕРЕВА, я продолжаю получать следующее...
46 просмотров
schedule 11.03.2023

avl tree - проблема с вращением
Я пытался отлаживать свой код более часа и не могу понять, в чем проблема. У меня есть этот класс как Vertex: class avl_node { public: T data; int value; int high; avl_node *left, *right; avl_node *parent; и у меня есть...
45 просмотров
schedule 28.02.2023

Дерево AVL в ML — повернуть влево, предупреждение: соответствие неполному
Я реализую дерево AVL в SML: Вот мои типы данных: datatype 'a AVLTree = Nil | Br of ((int*('a))*('a AVLTree)*('a AVLTree)); datatype Balance = RR | LR | LL | RL; exception NotFound; exception NullValue Сейчас я пишу функцию Rotate-Left, и...
242 просмотров
schedule 04.12.2022

Ошибка LeftRotate в дереве AVL в последней точке при вводе чисел от 1 до 10
Я пытаюсь добавить числа в дерево AVL, где узел принимает (ключ, значение). При вводе чисел от (0,0) до (10,10) в цикле for происходит сбой кода при попытке ввести число (10,10). Ниже приведен код для вставки узла в дерево: int...
30 просмотров
schedule 06.06.2023

Сомнения в классах при реализации бинарных деревьев поиска
Я изучаю общие двоичные деревья поиска (BST) и деревья AVL (AVL) в некоторых заметках, содержащих псевдокоды реализации. Я немного озадачен некоторыми деталями их реализации. BST основан на struct Node ниже struct Node{ int key; Node*...
73 просмотров

C ++ AVL Tree - Как восстановить порядок ввода узлов с использованием только предварительного и последующего порядка
Для своего проекта в университете я реализую класс дерева AVL на C ++ с символами для значений. У нас есть автогрейдер, который указывает на наши ошибки случайными тестами, если они есть. Я запускал его несколько раз, довольно много, и не получил...
54 просмотров
schedule 22.06.2023