ciao,
sto studiando il C e son arrivato a vedere le liste...però so che ci sono anche gli array dinamici. la domanda che vi porgo è quale struttura dati è meglio tra lista e array dinamico in ambito di efficienza per la memoria.
ciao e buon natale!
ciao,
sto studiando il C e son arrivato a vedere le liste...però so che ci sono anche gli array dinamici. la domanda che vi porgo è quale struttura dati è meglio tra lista e array dinamico in ambito di efficienza per la memoria.
ciao e buon natale!
Non si può dire a priori che uan è meglio dell'altra dipende da cosa dei fare. E poi non è chiaro cosa intendi per "efficienza per la memoria", parli di occupazione di memoria? O parli di velocità di accesso ai dati nella struttura dati?Originariamente inviato da diavoletto88
ciao,
sto studiando il C e son arrivato a vedere le liste...però so che ci sono anche gli array dinamici. la domanda che vi porgo è quale struttura dati è meglio tra lista e array dinamico in ambito di efficienza per la memoria.
ciao e buon natale!
Il centro dell'attenzione non è sempre un buon posto in cui trovarsi
Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)
Puoi evitare di scrivere il codice per una lista utilizzando la funzione realloc in maniera intelligente.
Non ha senso riallocare un vettore ogni volta che si aggiunge un nuovo elemento (sopratutto se il vettore ne ospita già 100.000), è meglio preventivare i costi e chiamare la realloc in maniera oppurtuna.
Se,er esempio, so che il mio vettore conterrà da 1.000 a 1.000.000 di elementi, ne rialloco mille per volta.
La realloc è una funzione lenta, molto più della malloc (la realloc è costruita con delle malloc), per cui l'uso di una lista, nella condizione che ho proposto, è più efficiente.
chiaroOriginariamente inviato da ibykos
Puoi evitare di scrivere il codice per una lista utilizzando la funzione realloc in maniera intelligente.
Non ha senso riallocare un vettore ogni volta che si aggiunge un nuovo elemento (sopratutto se il vettore ne ospita già 100.000), è meglio preventivare i costi e chiamare la realloc in maniera oppurtuna.
Se,er esempio, so che il mio vettore conterrà da 1.000 a 1.000.000 di elementi, ne rialloco mille per volta.
La realloc è una funzione lenta, molto più della malloc (la realloc è costruita con delle malloc), per cui l'uso di una lista, nella condizione che ho proposto, è più efficiente.
intendo occupazione di memoria, mi spiego sempre alla c**o...Originariamente inviato da unomichisiada
Non si può dire a priori che uan è meglio dell'altra dipende da cosa dei fare. E poi non è chiaro cosa intendi per "efficienza per la memoria", parli di occupazione di memoria? O parli di velocità di accesso ai dati nella struttura dati?
ciao