Ne ho bisogno per l'implementazione dell'algoritmo di Dijkstra e ho una mia implementazione, ma documentare il mio codice sarebbe più semplice con le classi di java.java ha una coda con priorità minima indicizzata?
risposta
Cosa intendi con "indicizzato"? La coda prioritaria non supporta l'indicizzazione, a meno che non sia più in coda.
Java supporta la coda di priorità standard come C++ STL. Può essere trovato nel namespace java.util come PriorityQueue.
Preventivo: * In molte applicazioni, ha senso consentire ai clienti di fare riferimento a elementi già presenti nella coda di priorità. Un modo semplice per farlo è associare un indice intero univoco a ciascun elemento. * Ho già un'implementazione, ma sarebbe bello se potessi usare una classe Java invece di dover creare una documentazione completa per la mia implementazione. – Fatso
@hexct indicizzato non significa che consente l'accesso indicizzato. Gli indici sono numeri interi univoci associati agli elementi della coda. Come valori interi univoci degli elementi della coda. Robert Sedgewick offre una buona copertura nel suo libro, Algorithms. – isaolmez
@Fatso Quote da cosa? – EJP
No, la libreria standard Java non dispone di tale struttura dati. Penso che molte persone lo usino: http://algs4.cs.princeton.edu/24pq/IndexMinPQ.java.html
È sempre meglio dare una breve informazione come navigare l'utente al collegamento per ulteriori informazioni, come se il collegamento si interrompe, la risposta è inutile. –
@cohadar: che dire di TreeMap? Fornisce la rimozione di un oggetto arbitrario (che può essere considerato un accesso indicizzato) nel tempo O (log (n)). – beemaster
hai provato a cercare "java priority queue" nel tuo motore di ricerca preferito? – cello
Sì! Lo hai provato con * indicizzato * come parola chiave aggiuntiva? – Fatso