Описание тега min-heap

2 ответа

Минимальная куча отсортирована по умолчанию

Я только что выбрал "Введение в алгоритмы", и я начал реализовывать алгоритмы куч и сортировки в C#. Реализуя функцию, которая создает мин / макс кучу из массива значений типа double, я заметил, что у построенной кучи есть некоторые интересные свойс…
11 авг '15 в 19:19
3 ответа

O(1) и O(log n), это одно и то же?

Возникает вопрос, задающий ли минимальный элемент из минимальной кучи время o (logn), я подумал, что это неверно, потому что требуется постоянное время, потому что минимальный элемент находится сверху. Но ответ верен, и объяснение преподавателя тако…
29 сен '17 в 16:00
1 ответ

Удаление / удаление узлов из Minheap дерева Хаффмана

У меня проблемы с корректным сованием с дерева Хаффмана. Сейчас я создаю дерево Хаффмана на основе мини-кучи и хочу сделать следующее: Если мы предположим, что A и B являются двумя разными поддеревьями, я бы сказал, что A будет выталкиваться первым,…
1 ответ

Heapify дает мне неправильный вывод для минимальной кучи

Я пытаюсь построить минимальную кучу, но я не могу получить правильные результаты. Я не уверен, что может быть не так. input = 209 97 298 54 110 27 250 455 139 181 446 206 478 90 88 output = 27 54 97 88 110 206 90 209 139 181 446 298 478 250 455 Как…
22 янв '15 в 23:49
1 ответ

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

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

Различные проблемы с реализацией minheap двоичного дерева в C

Я пытаюсь реализовать двоичное дерево поиска в C с помощью minheap. У меня есть основной код, но я не могу заставить его работать должным образом. Моя основная проблема, согласно сообщениям о сборке, заключается в том, что я сравниваю указатели и це…
12 апр '15 в 12:44
0 ответов

Нисходящий порт не работает, хотя восходящий порт работает нормально

Я пытался реализовать как восходящий и нисходящий heapsort с Python. Кажется, что восходящий порт не работает должным образом, хотя нисходящий порт работает нормально. Я посещаю мой код и тестовые случаи ниже. Я использовал алгоритм heapsort в поряд…
4 ответа

Могут ли максимальные / минимальные деревья кучи содержать повторяющиеся значения?

Мне интересно, если дерево кучи макс или мин разрешено иметь повторяющиеся значения? Я безуспешно пытался найти информацию об этом только с помощью онлайн-ресурсов.
21 мар '14 в 21:47
2 ответа

Какой самый простой и эффективный способ сделать кучу минут в Scala?

val maxHeap = scala.collection.mutable.PriorityQueue[Int] //Gives MaxHeap Каков наиболее краткий и эффективный способ использования Ordering, чтобы превратить PriorityQueue в minHeap?
25 ноя '14 в 05:43
1 ответ

Реализация минимальной кучи с массивом: вставьте и удалите минимальную (с дубликатами)

Я пытаюсь реализовать Min Heap в Java, но у меня возникают проблемы со вставкой и удалением элементов (вставка в конце, удаление корня как мин). Похоже, что это работает по большей части (я использую программу для визуального отображения кучи и расп…
26 апр '12 в 23:21
1 ответ

Я должен создать FUNCTION в C++, чтобы проверить, является ли массив A Min Minap или нет? Если это Min Heap, тогда верните true, иначе верните false

bool isMinHeap(int A[],int size) { for(int i=1; i<=size; i++) { if((A[i]<=A[2i]) && (A[i]<=A[2i+1])) t=1; else { t=0; break; } } if(t==1) return true; else return false; } Я ищу этот вопрос в переполнении стека. Но мне сложно понять…
20 сен '15 в 07:05
1 ответ

Простое объяснение алгоритма выбора кучи Фредериксона

Есть ли какое-нибудь простое объяснение алгоритма выбора кучи Фредериксона, чтобы найти элемент k-го ранга за O(k) время в минимальной куче, доступной где-либо онлайн? Если нет, может кто-нибудь объяснить интуицию алгоритма?
18 авг '12 в 00:51
0 ответов

Как смещается псевдокод биномиального дерева?

То, что я не могу понять здесь, - то, как заявления были отступлены. Нормально, если и иначе, если должны быть одинаково отступ. Я хочу понять, как здесь они отступили. Везде объединение кода биномиального дерева имеет отступ только таким образом. М…
2 ответа

Как я могу реализовать минимальную кучу f64 с BustHeap Rust?

Я хочу заполнить двоичную кучу числами с плавающей точкой - точнее, я бы хотел реализовать минимальную кучу. Кажется, что поплавки не поддерживают Ord и, следовательно, не могут быть использованы из коробки. Мои попытки обернуть их пока не увенчалис…
10 окт '16 в 00:38
1 ответ

Проверка, является ли вектор минимальной кучей, используя рекурсию

Я пытаюсь написать программу, которая проверяет, является ли вектор минимальной кучей. Я искал код здесь. Я понимаю, почему они используют 2*i+2 для сравнения с n, поскольку есть переломный момент с индексом, когда значения в векторе / массиве (мой …
14 окт '18 в 01:25
2 ответа

Реализация минимальной кучи без STL и класса в C++

Я должен прочитать все данные (целые числа) из файла в массив, а затем выполнить итерацию массива, чтобы создать минимальную кучу, и добавить их после последнего элемента текущей кучи. После чтения в массив я должен позвонить SiftUp() на каждом элем…
07 авг '18 в 02:31
2 ответа

Каков наилучший способ реализовать PriorityQueue в Java?

Я пытаюсь реализовать свой собственный класс PriorityQueue с нуля (без использования каких-либо существующих импортов Java или библиотек). Я знаю, что хочу использовать структуру данных с минимальной кучей. Но я визуализирую кучу как форму в бинарно…
28 апр '17 в 18:28
1 ответ

Minheap, когда значения одинаковы C++

Так что я сделал кучи бинарных деревьев. Чтобы проверить это, я создаю группу узлов с 2 различными значениями. Сказать struct node { int frequency; int data; } Скажем, частота - это то, по чему в первую очередь сортируется куча, но если частота узло…
10 мар '13 в 02:14
0 ответов

Ошибка реализации minHeap

Я пытаюсь реализовать minHeap размера k. Хотя свойства min-heap поддерживаются в созданном массиве, значения не верны. Пример => k=5; вход: 5,3,9,6,13,1; вывод: 1 3 5 6 13 в то время как правильный вывод должен быть 3,5,6,9,13 Мой код: public class …
12 май '16 в 17:09
1 ответ

Есть ли лучший способ найти кратчайший путь между узлами в Min Heap

Я написал небольшой фрагмент, чтобы найти кратчайший путь между двумя узлами в Min Heap. public int shortestPath(int i, int j) { int path = 0; int hi = Math.max(i, j); int lo = i + j - hi; while (hi > lo) { hi = hi / 2; path++; } if (hi == lo) re…
24 июл '16 в 21:40