Pila (informatica)
![Niente fonti!](http://upload.wikimedia.org/wikipedia/commons/thumb/6/64/Question_book-4.svg/45px-Question_book-4.svg.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Data_stack.svg/310px-Data_stack.svg.png)
La pila (dall'inglese stack), in informatica, è un tipo di dato astratto che viene usato in diversi contesti per riferirsi a strutture dati, le cui modalità d'accesso ai dati in essa contenuti seguono una modalità LIFO, ovvero tale per cui i dati vengono letti in ordine inverso rispetto a quello in cui sono stati inseriti scritti.
Caratteristiche
Il nome di questa struttura dati è infatti la stessa parola inglese usata, per esempio, per indicare una "pila di piatti" o una "pila di giornali", e sottende per l'appunto l'idea che quando si pone un piatto nella pila lo si metta in cima, e che quando si preleva un piatto si prelevi, analogamente, quello in cima (da cui la dinamica LIFO), anche se è possibile inserire o prelevare elementi dalla coda; più in generale, la pila è un particolare tipo di lista in cui le operazioni di inserimento ed estrazione si compiono dallo stesso estremo.
Utilizzo
Il termine è usato in informatica in modo più specifico in diversi contesti:
- la struttura dati a pila è un tipo di struttura dati che un programma può implementare e utilizzare per il proprio funzionamento;
- la pila è un elemento fondamentale dell'architettura dei moderni processori che fornisce il supporto per l'implementazione del concetto di funzione, le cui informazioni risiedono nella call stack;
- le macchine virtuali di quasi tutti i linguaggi di programmazione ad alto livello usano una pila dei record di attivazione per implementare il concetto di subroutine (generalmente, ma non necessariamente, basandosi sulla pila del processore);
- la memoria degli automi a pila dell'informatica teorica è una pila.
- la gestione di più versioni dello stesso software nel medesimo sistema operativo. Per installare, occorre partire in ordine cronologico, dalla più vecchia alla più recente; per disinstallare, occorrerà seguire l'ordine opposto, dalla più recente alla più vecchia.
Voci correlate
- Algoritmo
- Algoritmo di ordinamento
- Funzione (informatica)
- Hypercard
- LIFO
- Notazione polacca inversa
- Stack overflow
- Struttura dati
- Tipo di dato astratto
Altri progetti
Altri progetti
- Wikizionario
- Wikimedia Commons
Wikizionario contiene il lemma di dizionario «pila»
Wikimedia Commons contiene immagini o altri file sulla pila
Collegamenti esterni
- stack, su Treccani.it – Enciclopedie on line, Istituto dell'Enciclopedia Italiana.
- Mauro Cappelli, stack, in Enciclopedia della scienza e della tecnica, Istituto dell'Enciclopedia Italiana, 2007-2008.
- (EN) Eric W. Weisstein, Pila, su MathWorld, Wolfram Research.
- (EN) Denis Howe, stack, in Free On-line Dictionary of Computing. Disponibile con licenza GFDL
V · D · M | ||
---|---|---|
Teoria | Teoria della complessità computazionale · Notazione O Grande · Array · Lista · Stack · Coda · Ordinamento comparativo · Ordinamento adattivo | ![]() |
Algoritmi a scambio | Bubble sort · Shaker sort · Odd-even sort · Comb sort · Gnome sort · Quicksort | |
Algoritmi di selezione | Selection sort · Heap sort · Smoothsort | |
Algoritmi ad inserimento | Insertion sort · Shell sort · Tree sort · Library sort · Patience sorting | |
Algoritmi a fusione | Merge sort · Timsort | |
Algoritmi non comparativi | Radix sort · Bucket sort · Counting sort · Pigeonhole sort | |
Altri algoritmi | Rete di ordinamento · Ordinamento topologico · Ordinamento bitonico · Ordinamento delle frittelle | |
Algoritmi inefficienti | Stupid sort · Trippel sort |
V · D · M | |
---|---|
Tipi | Collezione · Container |
Astratte | Array associativo (Multimap) · Lista · Pila · Coda (Deque) · Coda di priorità · Set (Multiset · Mfset) |
Array | Bit array · Buffer circolare · Array dinamico · Hash table · Array sparso |
Collegate | Lista di associazioni · Lista concatenata · Skip list · Unrolled linked list · Lista concatenata tramite XOR |
Alberi | B-albero · Albero binario di ricerca (Albero AA · Albero AVL · RB-Albero · Albero binario di ricerca bilanciato · Albero splay) · Heap (Heap binario · Heap binomiale · Heap di Fibonacci) · Albero di Merkle · Albero SPQR · Albero PQ · Albero indicizzato binario |
Grafi | Diagramma binario di decisione · Digrafo aciclico · Automa a stati finiti deterministico aciclico |
Alberi di partizionamento dei dati spaziali | Albero quadramentale · M-tree · R-tree (R* tree · R+ tree) · X-tree |
Lista di strutture dati |
Controllo di autorità | GND (DE) 4808341-0 |
---|
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Computer_n_screen.svg/24px-Computer_n_screen.svg.png)