Qual è la differenza tra pila e lista collegata?

Sommario:

Anonim

Il differenza principale tra Stack e Linked List è quello uno Stack funziona secondo il meccanismo FIFO mentre una Linked List funziona memorizzando i dati e gli indirizzi di altri nodi per fare riferimento l'uno all'altro.

Una struttura dati è un modo per archiviare elementi di dati nella memoria del computer. Le strutture di dati sono utili in quanto aiutano ad accedere ai dati in modo efficiente. Le strutture di dati lineari e non lineari sono due tipi di strutture di dati. Le strutture di dati lineari memorizzano i dati in modo sequenziale. In altre parole, queste strutture dati memorizzano i dati uno dopo l'altro. Stack e Linked List sono due di queste strutture di dati lineari.

Elenco Collegato Circolare, Elenco Collegato Doppio, Strutture Dati Lineari, Elenco Collegato, Elenco Collegato Singolo, Pila

Cos'è Stack

Uno stack è una struttura di dati simile agli stack del mondo reale come una pila di piatti, libri o un mazzo di carte. È possibile leggere solo un singolo elemento in un dato momento. Funziona secondo il meccanismo “First In Last Out” (FIFO). In questo meccanismo, il primo elemento inserito è l'ultimo elemento da rimuovere dallo stack. L'ultimo elemento inserito è il primo elemento da rimuovere dallo stack. Si chiama anche Last In First Out (LIFO).

Stack esegue varie operazioni. L'operazione push consente di memorizzare un elemento in cima allo stack mentre l'operazione pop aiuta a rimuovere l'elemento più in alto dallo stack. Inoltre, l'operazione di sbirciatina aiuta a leggere l'elemento superiore senza eliminarlo dalla pila. Se non ci sono elementi, lo stack è vuoto. Inoltre, non è possibile inserire elementi quando la pila è piena.

Cos'è l'elenco collegato?

Linked List è una struttura dati con un insieme di nodi disposti in maniera sequenziale.

Esistono tre tipi di elenchi collegati.

Elenco unico collegato – Un nodo in questo tipo di elenco memorizza i dati e l'indirizzo del nodo successivo. Forma una struttura simile a una catena. Inserimento, cancellazione e attraversamento degli elementi sono alcune operazioni che possono essere eseguite su un'unica lista concatenata.

Doppia lista collegata (Lista doppiamente collegata) – Un nodo in questo tipo di elenco memorizza dati e due indirizzi. Questi sono l'indirizzo del nodo successivo e l'indirizzo del nodo precedente. I due riferimenti consentono di andare avanti e indietro negli elementi della lista. Simile a una singola lista, il programmatore può eseguire operazioni come inserimento, cancellazione e traversata su una doppia lista.

Elenco collegato circolare – In queste liste, l'ultimo nodo memorizza l'indirizzo del primo nodo. Pertanto, forma una struttura a catena circolare.

Gli elenchi collegati sono dinamici. Pertanto, non è necessario allocare inizialmente la memoria. È possibile allocare la memoria come richiesto. D'altra parte, non è possibile accedere a un elemento specifico in una volta. Bisogna passare attraverso ogni nodo uno dopo l'altro per accedere a un particolare elemento.

Differenza tra pila e lista collegata

Definizione

Uno stack è un tipo di dati astratto che funge da raccolta di elementi con due operazioni principali che sono push e pop. Al contrario, una lista concatenata è una raccolta lineare di elementi di dati il ​​cui ordine non è dato dalla loro posizione in memoria. Quindi, questa è la principale differenza tra stack e lista collegata.

operazioni

Push, pop e peek sono le principali operazioni eseguite su uno stack mentre inserimento, cancellazione e attraversamento sono le principali operazioni eseguite su una lista collegata.

Elementi di accesso

In uno stack, è possibile leggere l'elemento più in alto. In una lista concatenata, invece, se il programmatore vuole accedere ad uno specifico elemento, è necessario percorrere ogni elemento dall'inizio.

Funzionalità

Uno stack funziona secondo il meccanismo FIFO mentre, in una lista concatenata, gli elementi si collegano tra loro tramite riferimenti. Quindi, questa è un'altra differenza tra stack e lista collegata.

Complessità

Conclusione

Stack e Linked List sono due strutture dati lineari. Un programmatore può implementarli utilizzando qualsiasi linguaggio di programmazione. La principale differenza tra Stack e Linked List è che uno Stack funziona secondo il meccanismo FIFO mentre un Linked List funziona memorizzando i dati e gli indirizzi di altri nodi per fare riferimento l'uno all'altro.

Riferimenti:

1. "Introduzione agli elenchi collegati". Studytonight tramite Commons Wikimedia. 2. "Stack DS - Javatpoint." Www.javatpoint.com tramite Commons Wikimedia.

Cortesia dell'immagine:

1. "Fonte: [1]" di L'autore del caricamento originale era R. Koot su Wikipedia in inglese. - Trasferito da en.wikipedia a Commons (CC BY-SA 3.0) tramite Commons Wikimedia 2. "Lista collegata singolarmente" di Singly_linked_list_insert_after.png: Derrick Coetzeederivative work: Pluke (talk) - Singly_linked_list_insert_after.png (dominio pubblico) tramite Commons Wikimedia

Qual è la differenza tra pila e lista collegata?