Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C] efficienza per la memoria

    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!

  2. #2

    Re: [C] efficienza per la memoria

    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!
    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?
    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.)

  3. #3
    Utente di HTML.it L'avatar di ibykos
    Registrato dal
    Feb 2005
    Messaggi
    201
    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.

  4. #4
    Originariamente 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.
    chiaro

    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?
    intendo occupazione di memoria, mi spiego sempre alla c**o...

    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.