Описание тега leftist-tree

1 ответ

Нужна помощь с результатом простой левой вставки кучи

У меня есть (мин) левая куча, как показано ниже: 1 / \ 8 6 / \ / \ 10 12 14 16 /\ / 18 20 22 И меня просят показать результат вставки 21. Мое понимание левых куч - то, что вставка - это просто слияние одного узла, и в этом случае 21 должен сравниват…
04 ноя '13 в 22:40
2 ответа

Реализация левой кучи в с ++

Добрый день, я пытаюсь реализовать левую кучу, вот мой заголовочный файл и исходный файл для заголовочного файла #include<iostream> template<class comparable> class leftistheap; template<class comparable> class leftistnode { compar…
05 сен '12 в 13:07
2 ответа

Правильно ли этот фрагмент кода левого дерева из Википедии?

Ссылка на сайт public Node merge(Node x, Node y) { if(x == null) return y; if(y == null) return x; // if this was a max height biased leftist tree, then the // next line would be: if(x.element < y.element) if(x.element.compareTo(y.element) > …
06 май '10 в 20:34
1 ответ

Наихудшие случаи прогона косой кучи против левой кучи

Я готовлюсь к нескольким техническим интервью и готовлюсь к слайдам лекций год или два назад о структурах данных. Мне непонятно, почему в худшем случае время выполнения слияния для левой кучи равно O(log n), тогда как для косой кучи это O(n), когда …
1 ответ

Перколяция левой кучи C++ приводит к ошибке сегмента

Я реализовал removeSelection функция, которая удаляет определенный узел из левой кучи. Код находит узел через хеш-таблицу, которая отслеживает ключи, которые были вставлены в кучу. Затем узел перколируется в корень кучи и deleteMin вызывается, чтобы…
28 мар '12 в 04:15
0 ответов

А левая куча реализации

Поэтому мне удалось получить рабочую рекурсивную версию двоичной левой кучи, используя следующий код. public class Node<T extends Comparable<T>> { public T data; public Node<T> left; public Node<T> right; public int npl; publ…
01 мар '15 в 02:57
1 ответ

Левая куча сливается ОЧЕНЬ медленно

Моя реализация работает правильно с небольшим количеством отслеживаемых элементов. Эта левая куча занимает несколько секунд для вставки 50 000 элементов, а для перекосной кучи - несколько миллисекунд. Поэтому я считаю, что алгоритм реализован правил…
31 окт '14 в 12:37
1 ответ

Сложность heapify в левой очереди кучи

"Структуры данных и сетевые алгоритмы" Тарьяна заявляют функцию heapify в самых маленьких кучах следующим образом: heap function heapify (list q); do |q| ≥ 2 → := q[3..] & meld (q(1), q(2)) od; return if q = [ ] → null | q != [ ] → q(1) fi end h…
24 мар '16 в 16:36
1 ответ

Левая куча двух версий создания реализации

Недавно я читал книгу "Чисто-функциональные структуры данных", когда пришел к "Упражнению 3.2 Определить вставку напрямую, а не посредством вызова слияния" для Leftist_tree. Я реализую вставку моей версии. let rec insert x t = try match t with | E -…
1 ответ

Какова реальная цель звания в левой куче?

Левая куча поддерживает ключ и ранг для каждого узла. Ранг узла - это количество узлов вдоль кратчайшего пути к листу. Целому дереву необходимо поддерживать два свойства: node.key node.left.rank> = node.right.rank Я могу понять первое свойство, так…
23 июл '13 в 16:22