Я работаю над некоторыми домашними заданиями, связанными с кучами, и понимаю, как они структурированы.Куча должна иметь каждый узел, удовлетворяющий свойству кучи,
свойство max-heap таково, что для каждого узла i, кроме корня, Heap [Parent (i)]> = Heap [i]
Таким образом, в каждом узле более высокие узлы имеют более высокие номера, более низкие узлы имеют более низкие номера.Это я поняла.Но я не вижу использования кучи, кроме как просто получить самые большие n чисел в списке.Я не вижу простого способа поиска определенного значения и возврата узла или поиска n-го наименьшего числа (в max-heap).И то, и другое относительно просто в бинарном дереве поиска.
Почему бы вам не использовать простое бинарное дерево поиска?Или, что еще лучше, сбалансированное бинарное дерево поиска?
РЕДАКТИРОВАТЬ: я должен отметить, что это не ищет ответа на проблему домашней работы.Фактическая проблема с домашней работой заключалась в написании псевдокода для параллельной p-heap для функций insert () и extractMax ().И я уже ответил на них.Они просто заставили меня понять, что я на самом деле не понимаю Кучи.