Я готов использовать структуру данных как буфер переполнения постоянного пространства. Я хочу иметь эффективную вставку, но самое важное - эффективное удаление элемента min. Я думал использовать кучу, так как у меня есть O (log (n)) find_min() и log (n) вставка и удаление. С другой стороны, я знаю, что не понимаю преимущества по сравнению с красно-черным деревом, так как у него также есть O (log (n)) insert и delete, но O (1) find min/max. И преимущество сортированного вывода (меня это не волнует).
Вопрос связан с: Является ли красно-черным деревом идеальная структура данных?
Так как у меня есть обе структуры, доступные из std:: map и из boost:: heap, почему я предпочитаю использовать кучу вместо красно-черного дерева? Наконец, используя красно-черное дерево, у меня также есть O (log (n)) время поиска для записи, а для кучи время O (n), что важно, поскольку существуют дубликаты.