Elenca strutture in memoria

2

Qualcuno potrebbe dare una panoramica di come le strutture di lista che sono composte da a testa e coda che fa riferimento al resto dell'elenco che elenco linkato è rappresentato in memoria del computer? Il computer fa uso dei registri della cpu per contenere i puntatori sulla testa e sul resto della lista?

    
posta cobie 06.06.2012 - 12:14
fonte

1 risposta

9

Could anyone give an overview of how list structures which are composed of a head and a tail which references the rest of the list i.e linked list are represented in memory of the computer?

In un'implementazione ingenua, ciascun nodo viene allocato separatamente, quindi i nodi verrebbero distribuiti più o meno casualmente nella memoria heap, ovunque l'allocatore di memoria abbia trovato spazio libero.

In pratica, le implementazioni in genere cercano di migliorare la localizzazione della cache allocando lo spazio alla rinfusa per un numero ragionevole di nodi alla volta e tengono traccia di quello spazio preallocato.

Does the computer make use of cpu registers to hold the pointers the head and rest of the list?

Qualsiasi buon compilatore, quando compila il codice che scorre sull'elenco, produrrà quasi certamente codice macchina che fa ciò, ma questo è il dettaglio dell'implementazione che non ha nulla a che fare con il concetto della struttura dati.

    
risposta data 06.06.2012 - 15:44
fonte

Leggi altre domande sui tag