Cos'è una struttura di dati collegata?
Una struttura di dati collegata è una raccolta di dati disposti in un formato simile a un elenco. Ogni pezzo di dato nell'elenco viene definito nodo. Ogni nodo è collegato a quello successivo nell'elenco mediante un riferimento all'indirizzo di memoria di tale nodo. is called a linked list.
A node of a linked data structure generally contains two pieces of information — a reference to the actual data being stored and a reference to the next node on the list. A linked list is traversed, or searched, by stepping through each of the data nodes, beginning at the first one, or the head of the list. There is no way to find information in a linked list without sequentially moving through the nodes from beginning to End.
La maggior parte dei dati collegatiES utilizzerà il minor numero possibile di memoria durante l'esecuzione del programma. Se viene creato un elenco collegato con un solo nodo e non vengono aggiunti altri nodi, tale elenco accetterà la memoria richiesta per un solo nodo. Questo è in netto contrasto con una struttura di dati dell'array in cui le dimensioni dell'intero array devono essere dichiarate e allocate all'inizio del programma e non può essere modificata.
Elenchi collegati pagano per il loro uso efficiente delle risorse di memoria richiedendo una maggiore potenza di calcolo. Trovare un pezzo specifico di dati in un elenco collegato richiede un looping attraverso l'intero elenco ogni volta, quindi può essere più lento accedere alle informazioni nel mezzo dell'elenco. Rimozione o riordino in un elenco collegato anche in un elenco collegato può essere più intenso computazionalmente che gestire un array in cui possono essere scambiati facilmente.
non è necessaria una struttura di dati collegata per avere un solo riferimentoal nodo successivo; Può avere diversi. Alcuni elenchi collegati hanno due riferimenti al nodo, uno al nodo successivo nell'elenco e uno al nodo precedente. Questi sono noti come elenchi doppiamente collegati. Questo può fare in modo che si muova attraverso un elenco in entrambe
It is possible for linked lists to have three or more references to other nodes in the list. This creates a structure similar to a tree with entire branches of nodes spawning from a single one. These types of data structures are called multiply linked lists. Multiply linked lists are particularly useful for complex sorting algorithms that are used to structure data. Search trees are possible largely because of the use of linked data structures to create multiple, variable-length rami.