Come chiede il titolo, mi chiedo se il metodo size() nella classe LinkedList impiega tempo O (1) o O (n) ammortizzato.Qual è la complessità temporale di una chiamata size() su una LinkedList in Java?
risposta
E 'O (1). È possibile google per il codice sorgente e si arriva a tale:
Da http://www.docjar.com/html/api/java/util/LinkedList.java.html
Tutte le classi collezione che ho guardato un negozio di dimensioni come una variabile e non scorrere tutto per ottenerlo .
ctrl-clic in NetBeans lo troverà ancora più veloce di google;) – Superole
O (1) come si sarebbe trovato aveva guardato il codice sorgente ...
Da LinkedList:
private transient int size = 0;
...
/**
* Returns the number of elements in this list.
*
* @return the number of elements in this list
*/
public int size() {
return size;
}
E se non stai usando l'implementazione di Sun? http://en.wikipedia.org/wiki/Java_Class_Library#Alternative_implementations Penso che la sua domanda sia se è garantito che sia O (1), piuttosto che se sia O (1) in qualsiasi specifica implementazione/versione. – jalf
L'implementazione è stata la stessa da 1.2 quando è stato introdotto LinkedList, quindi sarà sempre O (1) –
Questo è da Java 1.6. Questo non dipende dalla VM ma (in teoria) potrebbe essere diverso nelle versioni precedenti della libreria standard. Controlla la sorgente della tua versione se vuoi essere sicuro al 100%, ma nessuno sviluppatore sano calcolerebbe le dimensioni su richiesta per qualcosa di simile in cui tutto è in memoria e puoi calcolarlo mentre la struttura viene creata. – Kris
- 1. Qual è la complessità temporale di HashMap.containsValue() in java?
- 2. Qual è la complessità temporale dell'albero trasversale?
- 3. Complessità temporale di una funzione
- 4. Qual è la complessità temporale di questa funzione in Scheme?
- 5. Qual è la complessità temporale di iterazione TreeSet?
- 6. Complessità temporale della sottostringa Java()
- 7. Qual è la complessità temporale di questo ciclo while?
- 8. Qual è la complessità temporale della mia funzione?
- 9. Qual è la complessità temporale delle ricerche HTML DOM
- 10. La complessità temporale di Math.Sqrt()?
- 11. complessità temporale di javascript .length
- 12. Java Math.pow (a, b) complessità temporale
- 13. Qual è la complessità temporale dell'aggiunta di un elemento all'inizio di ArrayList?
- 14. La complessità temporale per l'ordinamento Shell?
- 15. Perché la complessità temporale di questo ciclo non è lineare?
- 16. Qual è la complessità temporale di un elenco per impostare la conversione?
- 17. Qual è la complessità di OrderedDictionary?
- 18. La complessità temporale del conteggio degli ordinamenti
- 19. La complessità temporale del seguente algoritmo?
- 20. Qual è la complessità temporale della lettura di un file da un filesystem Linux?
- 21. Qual è la complessità asintotica di List.Add?
- 22. Haskell GHC: qual è la complessità temporale di un pattern che corrisponde a N costruttori?
- 23. qual è la complessità temporale del metodo array # uniq in ruby?
- 24. Complessità temporale ricerca alfa beta
- 25. La complessità temporale delle operazioni di set python?
- 26. Analisi algoritmi per complessità temporale
- 27. Qual è il costo/complessità di una chiamata di funzione String.IndexOf()
- 28. La complessità del tempo per java ArrayList
- 29. Javascript ES6 complessità computazionale/temporale delle raccolte
- 30. Complessità temporale di un algoritmo ricorsivo
Nota: per le strutture concorrenti, le dimensioni di calcolo possono essere lente e comunque inutili. –