Supongo que está hablando de una interfaz de cola de prioridad básica, es decir, solo es realmente compatible con push, pop, peek y heapify. Si ese es el caso, entonces la implementación se entiende muy bien y debería ser bastante uniforme. Sinceramente, me sorprendería ver diferencias dramáticas en la velocidad (al menos en comparación con la bandera O apropiada). Así que probablemente usaría el de la biblioteca estándar. Esto es diferente de las tablas hash, donde hay muchos enfoques que tienen intercambios, y es básicamente imposible escribir una única tabla genérica de captura óptima.
Si necesita otras operaciones, como fusionar eficientemente dos montones, necesitará algo más complicado (montón binomial, etc.). Estos se pueden encontrar en boost. No utilice ese montón a menos que tenga una necesidad razonablemente frecuente de la interfaz avanzada; probablemente harán operaciones básicas un poco más lentamente (ya que son más complicadas).
- ¿Debería un algoritmo de aprendizaje automático estar completo?
- ¿Existen algoritmos en R que permitan clasificar una variable binaria basada en un conjunto de cadenas (texto)?
- ¿Encontrar la complejidad temporal de los algoritmos está relacionado con las matemáticas discretas?
- ¿Cuál es la lógica y la intuición detrás del algoritmo de optimización de momento y por qué se considera mejor que el descenso de gradiente?
- Si un algoritmo se ejecuta en tiempo O (N), pero N no excede una constante, ¿puedo decir que el algoritmo se ejecuta en tiempo constante?