Реализация c++ двоичной кучи

Мне нужна минимальная куча, реализованная как двоичное дерево. Очень быстрый доступ к минимальному узлу и сортировка вставки.

есть ли хорошая реализация в stl или boost, что кто-нибудь может указать мне тоже?

3 ответов


Я думаю std:: priority_queue это то, что вы ищете.


см. стандартный алгоритм C++make_heap().


STL не имеет понятия (двоичных) деревьев, но есть методы, которые облегчают поддержание свойств кучи в наборе данных, таких как std::make_heap, std::sort_heap, std::push_heap и т. д.