- Los montones de Fibonacci son asintóticamente más rápidos que los montones binarios y binomiales, pero esto no significa necesariamente que sean más rápidos en la práctica. La complejidad adicional de los montones de Fibonacci probablemente los hará más lentos para operaciones en montones más pequeños. Además, la operación de eliminación tiene la peor complejidad del peor de los casos.
- Muchas aplicaciones simplemente no necesitan el beneficio adicional de un montón de Fibonacci y agregarlo aumenta el tamaño de la biblioteca estándar de Java para todos. Si su aplicación realmente necesita una, hay implementaciones de bibliotecas no estándar.
- Las personas que trabajan en la biblioteca estándar tienen otras prioridades en las que trabajar. La biblioteca estándar de Java ya es muy grande y espero que lleve bastante esfuerzo mantenerla. Cada clase que escriben se suma a esta carga.
¿Por qué no hay implementación de montón de Fibonacci en la API Java estándar?
Related Content
Cómo resolver el problema de recolectar manzanas usando programación dinámica
¿Cuál es la forma estándar de resolver problemas?
¿Cuáles son los mejores algoritmos para el análisis de sentimientos?
Cómo reconocer un problema como un problema de programación dinámica
¿Qué tan importante es para el hombre en el medio saber la técnica de cifrado?
Para agregar al punto # 3 de la respuesta de Tim Wilson a ¿Por qué no hay implementación de montón de Fibonacci en la API Java estándar? – PriorityQueue
vino junto con JSR 166 Concurrency Utilities .
Esto se basa en el trabajo concurrente de Java del Dr. Doug Lea, que se remonta a 1998: http://gee.cs.oswego.edu/dl/clas …
Sé que no hay un montón de Fibonacci en la API estándar de Java, pero hay algunos de código abierto. Hice un experimento utilizando la cola de prioridad basada en el montón de Fibonacci para el algoritmo de Dijkstra. Puede ver cómo funcionan estas implementaciones de código abierto durante la ejecución del algoritmo. Aquí está el enlace para mi publicación de blog “Experimentando con el algoritmo de Dijkstra” y para la página GitHub del experimento “gabormakrai / dijkstra-performance”.
More Interesting
Cómo identificar un bucle en una lista vinculada individualmente
Cómo verificar si un algoritmo que hice en C ++ es eficiente en la vida real
¿Podría alguien ayudarme con el problema del algoritmo 'Intervalo casi ordenado'?
Cómo encontrar un segmento en una matriz con un número máximo de elementos con suma S
¿Cuáles son las estrategias más populares utilizadas en el comercio de alta frecuencia?
Cómo paralelizar un método recursivo en Java
¿Cuál es el mejor enfoque para resolver estructuras de datos y problemas de algoritmos?
Cómo resolver este problema: http://www.spoj.com/problems/RENT/
¿Alguien puede explicar el algoritmo de programación Round Robin?