Strutture Dati e Algoritmi: Stack
Dopo gli array e le liste dei like , questa volta daremo un'occhiata a un nuovo tipo di struttura dei dati che sono gli stack.
Pile: concetti
Gli stack sono un concetto importante nel mondo dell'informatica e della programmazione. Ad esempio, molti linguaggi di programmazione utilizzano pesantemente gli stack per tenere traccia delle chiamate alle funzioni (ad esempio: JavaScript).
# Cosa sono gli Stack?
Le pile sono un altro tipo di struttura dati lineare in cui gli elementi sono disposti uno dopo l'altro. Tuttavia, hanno alcune restrizioni quando si tratta di accedere, inserire ed eliminare elementi. Uno stack funziona secondo il principio di Last In First Out (LIFO). Una buona analogia sarebbe una pila di piatti in cucina o una pila di libri in biblioteca. Quando aggiungiamo un nuovo piatto/libro, questo viene sempre posizionato su quello precedente. Quando invece vogliamo rimuovere una targa/libro, è sempre quella aggiunta più di recente che verrà rimossa.
Quindi, tutte le operazioni su uno stack vengono effettuate da un'unica estremità attraverso le informazioni più accessibili che si trovano in cima allo stack . Le informazioni meno accessibili in uno stack si trovano in BASSO. Di solito ci riferiamo all'aggiunta di un nuovo elemento come all'inserimento nello stack. D'altra parte, ci riferiamo alla rimozione di un elemento come a saltarlo fuori dallo stack.
# Perché dovresti usare gli stack?
Le pile possono essere utilizzate per una varietà di scenari; tuttavia, in questo articolo, menzionerò due motivi principali per cui si desidera considerare l'utilizzo di stack per risolvere un particolare problema.
- Espressione Valutazione...
2. Tornare indietro...
Ti sei mai chiesto come vengono tracciate le chiamate di funzioni ricorsive all'interno della tua macchina? Più probabilmente questo viene fatto attraverso gli stack. Inoltre, anche l'operazione di annullamento/ripristino nel tuo software di modifica dei documenti preferito viene implementata utilizzando gli stack. Ancora una volta, l'operazione di ritorno nel tuo miglior browser utilizza anche gli stack (due di loro in effetti). La linea di fondo è che se il problema che stai cercando di risolvere deve risalire all'ultima cosa che è accaduta, allora potresti prendere in considerazione l'utilizzo di stack per questo.
Stack: implementazione in JavaScript
Nonostante sia possibile implementare gli stack utilizzando array o elenchi collegati, in questo articolo utilizzeremo quest'ultimo.
Presumo che tu abbia già familiarità con la struttura dei dati delle liste collegate che abbiamo visto nel precedente articolo ... In caso contrario, per favore, prenditi il tuo tempo per afferrare il concetto di liste collegate e poi torna qui...
Eccoci qui…
Lo snippet sopra è autoesplicativo ma se hai domande, per favore, usa la sezione dei commenti...
Abbiamo implementato le operazioni più basilari in questo tutorial. Tuttavia, puoi migliorarlo aggiungendo qualsiasi altra operazione necessaria, se lo desideri.
Pile: ora tocca a te...
# Compito uno
Usa il tuo linguaggio di programmazione preferito per implementare la struttura dei dati dello stack utilizzando matrici anziché elenchi collegati.
# Compito due
Potete suggerire una soluzione per il problema di annullamento/ripristino? Tuttavia, usa il tuo linguaggio di programmazione preferito...
Aspetta un secondo, per favore! Prima di partire, se vuoi, mettiamoci in contatto...
- Su YouTube
- Su Linkedin
- Su Twitter

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































