2012-04-27 32 views
7

Lo necesito para una implementación del algoritmo de Dijkstra, y tengo mi propia implementación, pero documentar mi código sería más fácil con las propias clases de Java.¿Java tiene una cola de prioridad mínima indexada?

+1

¿Intentó buscar "cola de prioridad de Java" en su motor de búsqueda favorito? – cello

+2

¡Sí! ¿Lo intentó con * indexado * como palabra clave adicional? – Fatso

Respuesta

2

¿Qué quiere decir 'indexado'? La cola de prioridad no es compatible con la indexación, a menos que ya no esté en la cola.

Java admite la cola de prioridad estándar como C++ STL. Se puede encontrar en el espacio de nombres java.util como PriorityQueue.

+1

Cita: * En muchas aplicaciones, tiene sentido permitir a los clientes referirse a los elementos que ya están en la cola de prioridad. Una forma sencilla de hacerlo es asociar un índice entero único con cada elemento. * Ya tengo una implementación, pero sería genial si pudiera usar una clase Java en lugar de tener que hacer una documentación completa para mi implementación. – Fatso

+0

@hexct indexado no significa que permita el acceso indexado. Los índices son enteros únicos asociados a los elementos de la cola. Al igual que los valores enteros únicos de los elementos de la cola. Robert Sedgewick ofrece una buena cobertura en su libro, Algorithms. – isaolmez

+0

@Fatso Cita de qué? – EJP

2

No, la biblioteca estándar Java no tiene dicha estructura de datos. Creo que la mayoría de la gente usa esto: http://algs4.cs.princeton.edu/24pq/IndexMinPQ.java.html

+1

Siempre es mejor dar una breve información a medida que navega al usuario hacia el enlace para obtener información adicional, ya que si el enlace se rompe, la respuesta no sirve de nada. –

+0

@cohadar: ¿Qué hay de TreeMap? Proporciona la eliminación de un objeto arbitrario (que puede considerarse como un acceso indexado) en el tiempo O (log (n)). – beemaster

Cuestiones relacionadas