Когда мне следует использовать TreeMap поверх PriorityQueue и наоборот?

Кажется, что они оба позволяют вам получить минимум, который мне нужен для алгоритма Прима, и вынуждают меня удалить и повторно вставить ключ, чтобы обновить его значение. Есть ли преимущество использования одного над другим, не только для этого примера, но и вообще?

29
задан iceburn 19 August 2010 в 18:12
поделиться

2 ответа

Вообще говоря, меньше работы по отслеживанию только минимального элемента с использованием кучи.

Дерево более организовано, и для его поддержки требуется больше вычислений. Но если вам нужно получить доступ к любому ключу , а не только к минимуму, кучи будет недостаточно, и дополнительные накладные расходы на дерево будут оправданы.

30
ответ дан 28 November 2019 в 01:38
поделиться

Это зависит от того, как вы реализуете приоритетную очередь. Согласно книге Кормена, 2-е изд., Самый быстрый результат - с кучей Фибоначчи.

0
ответ дан 28 November 2019 в 01:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: