Мне нужно построить косвенную кучу для проекта, и я не совсем понимаю, что это значит. Если вы создаете кучу из массива, реализуете косвенность, просто добавляя какую-то структуру данных карты, чтобы связать каждый элемент с его индексом? Или это сложнее?Может ли кто-нибудь объяснить концепцию косвенных кучей/непрямых очередей приоритетов для меня?
0
A
ответ
0
Косвенная куча - это куча, в которой хранящиеся элементы данных являются индексами в список, массив или другую структуру данных, которая содержит фактические элементы.
Представьте, что у вас есть список имен: ["jim","joe","bob","sam","susan","kelly","jessica"]
, из которого вы хотите построить кучу. Прямая куча будет иметь:
bob
joe jessica
sam susan jim kelly
Косвенным кучные бы заменить имена в куче с индексами в список:
2
1 6
3 4 0 5
Ваши функции сравнение должны измениться. Вместо сравнения heap[0]
с heap[1]
, вы сравниваете list[heap[0]]
с list[heap[1]]
.
Некоторые люди называют это полусопряженной кучей. Прямая куча на своем языке содержит дополнительное сопоставление от имени к индексу.
Смежные вопросы
- 1. Поддерживает ли Mongoose концепцию фиксированного массива очередей
- 2. Сортировка очереди очередей приоритетов
- 3. Карта очередей приоритетов
- 4. C++ конструктор очередей приоритетов
- 5. Может ли кто-нибудь объяснить мне концепцию секционированных таблиц улья?
- 6. Может ли кто-нибудь объяснить концепцию DashO в обфускации?
- 7. Может ли кто-нибудь объяснить основную концепцию модели в angularjs?
- 8. Можете ли вы объяснить веб-концепцию RESTful?
- 9. Может ли кто-нибудь объяснить эту рекурсивную функцию для меня?
- 10. Может ли кто-нибудь объяснить этот код TSQL для меня?
- 11. Может ли кто-то объяснить уровни доверия ASP.NET для меня?
- 12. Может ли кто-нибудь объяснить этот скрипт authotkey для меня?
- 13. Может ли кто-нибудь объяснить генератор этого списка для меня?
- 14. Может ли кто-нибудь объяснить спецификации исключения C++ для меня?
- 15. Может ли кто-нибудь объяснить архитектуру NVIDIA GPU для меня?
- 16. Может ли кто-нибудь объяснить следующее регулярное выражение для меня?
- 17. Ошибка сегментации при использовании очередей приоритетов
- 18. Диагностирование динамического программирования против ситуации очередей приоритетов
- 19. Может ли кто-нибудь объяснить асимптотическую сложность сортированных и несортированных приоритетных очередей?
- 20. Моделирование в java с использованием очередей приоритетов
- 21. Построение лексикографически упорядоченных очередей приоритетов в julia
- 22. Может кто-нибудь помочь мне объяснить концепцию выбора банка?
- 23. Сравнение очередей приоритетов - java vs C++
- 24. Вычислить медианную с использованием очередей приоритетов
- 25. Может кто-нибудь объяснить концепцию «Блок» в Piranha.vNext CMS?
- 26. Может кто-нибудь объяснить неявные «для петель» для меня?
- 27. Может ли кто-нибудь объяснить мне концепцию строк и ковша для показателей Hystrix?
- 28. Объяснить директиву maxstack для меня
- 29. Может ли кто-нибудь объяснить этот отредактированный фрагмент кода для меня?
- 30. Вы можете объяснить концепцию Service-builder?
Косвенная куча ничего не значит сама по себе. Вы можете сделать косвенную сортировку кучи, косвенную кучу * любой алгоритм действительно * ... Косвенная куча просто означает «без изменения того, что хранится в куче» –