Публикации по теме '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 просмотров
schedule
17.07.2022
C ++ AVL Tree - Как восстановить порядок ввода узлов с использованием только предварительного и последующего порядка
Для своего проекта в университете я реализую класс дерева AVL на C ++ с символами для значений. У нас есть автогрейдер, который указывает на наши ошибки случайными тестами, если они есть. Я запускал его несколько раз, довольно много, и не получил...
54 просмотров
schedule
22.06.2023