データ構造を定数空間のオーバーフロー バッファとして使用したいと考えています。効率的な挿入が必要ですが、最も重要なのは最小要素の効率的な削除です。O(log(n)) find_min() と log(n) の挿入と削除があるため、ヒープの使用を考えていました。一方、赤黒ツリーと比較して利点を理解していないことはわかっています。これは、O(log(n)) の挿入と削除もあり、O(1) で最小/最大が検出されるためです。そして、ソートされた出力の利点(私はそれについて気にしません)。
質問は関連しています:赤黒木は私の理想的なデータ構造ですか?
std::map と boost::heap から両方の構造を利用できるのに、赤黒ツリーの代わりにヒープを使用する必要があるのはなぜですか? 最後に、赤黒木を使用すると、エントリの検索時間も O(log(n)) になりますが、ヒープの場合、重複が存在するため重要な O(n) になります。