Кажется, что они оба позволяют вам получить минимум, который мне нужен для алгоритма Прима, и вынуждают меня удалить и повторно вставить ключ, чтобы обновить его значение. Есть ли преимущество использования одного над другим, не только для этого примера, но и вообще?
Вообще говоря, меньше работы по отслеживанию только минимального элемента с использованием кучи.
Дерево более организовано, и для его поддержки требуется больше вычислений. Но если вам нужно получить доступ к любому ключу , а не только к минимуму, кучи будет недостаточно, и дополнительные накладные расходы на дерево будут оправданы.
Это зависит от того, как вы реализуете приоритетную очередь. Согласно книге Кормена, 2-е изд., Самый быстрый результат - с кучей Фибоначчи.