QNA > U > Un Array È Una Struttura Di Dati Ordinata Come Una Lista?

Un array è una struttura di dati ordinata come una lista?

Dipende da cosa intendete per "ordinato". Per esempio, né un array né una lista hanno alcun requisito che i valori siano in un ordine particolare. Nessuno dei due ha il requisito che i valori siano messi all'inizio o alla fine della collezione quando vengono aggiunti. Nessuno dei due richiede che l'ordine sia mantenuto.

Potete aggiungere vincoli alla definizione di "ordine", e sotto questi vincoli potete fare asserzioni su ciò che accadrà quando aggiungete o cancellate un valore all'insieme. Si possono fare asserzioni sul costo big-O di fare aggiunte, cancellazioni, iterazioni, ecc. Tuttavia, nessuno di questi considera il caso in cui la costante di proporzionalità da cui dipende big-O non è una costante, e, infatti, può differire di sette ordini di grandezza tra due elementi, e statisticamente, è spesso il caso che un array sia enormemente più efficiente in pratica di una lista collegata, in diretta contraddizione con la teoria astratta, che fa assunzioni ingiustificate, come ad esempio che ogni operazione ha tempo costante.

Nota che altre collezioni, come le mappe hash, gli insiemi e altre strutture di dati, hanno costi diversi, e non hanno nemmeno vincoli sull'ordine. Quindi bisogna avere una definizione molto attenta di "ordine" per ottenere una risposta significativa alla domanda.

Nota che Java ha una classe chiamata ArrayList che è un array che supporta operazioni di tipo lista.

Di Priscella

La gente intorno a te crede ancora che il virus Covid 19 sia una bufala e rifiuta il vaccino? :: Posso usare liberamente le emoji di Apple sui miei prodotti commerciali?
Link utili