Siempre pensé que montones y colas de prioridad son sinónimos - una estructura de datos abstracta que los soportes insert
, findMin
y deleteMin
las operaciones.
Alguna literatura parece estar de acuerdo conmigo - Chris Okasaki es puramente funcional Estructuras de datos (capítulo 3), por ejemplo.
Por otro lado, la Wikipedia montón página define como una estructura de datos basada en el árbol, y los estados que son montones una aplicación concreta de colas de prioridades.
Estoy teniendo un duro conciliar esto con el hecho de que se me ocurre aplicación más de un montón - montones de izquierda, montones binomiales, montones splay ...
¿El simple hecho de que una pila puede ser implementado con diferentes estructuras de datos no significa, por definición, que es una estructura de datos abstracta? Y si ese es el caso, ¿existe una diferencia real con colas de prioridad?