Sono disposto ad utilizzare una struttura dati come buffer di overflow di spazio costante. Voglio avere un inserto efficiente ma soprattutto una rimozione efficiente dell'elemento min. Stavo pensando di utilizzare un heap dal momento che ho O (log (n)) find_min() e log (n) inserimento e cancellazione. D'altra parte so che non capisco il vantaggio rispetto ad un albero rosso-nero visto che ha anche O (log (n)) insert e delete ma e O (1) find min/max. E il vantaggio dell'output ordinato (non mi interessa).Mucchio o albero rosso-nero?
La domanda è legata a: Is a red-black tree my ideal data structure?
Dal momento che ho entrambe le strutture disponibili da std :: map e da boost :: mucchio perché dovrei preferire usare mucchio anziché l'albero rosso-nero? Infine, usando l'albero rosso-nero ho anche O (log (n)) tempo di ricerca per una voce mentre per un heap il tempo è O (n) che è importante poiché i duplicati esistono.
Considerare un buffer circolare. Non so se è appropriato per i tuoi usi. –
possibile duplicato di [Heap vs Binary Search Tree (BST)] (http://stackoverflow.com/questions/6147242/heap-vs-binary-search-tree-bst) –