mirror of
https://github.com/Steffo99/appunti-magistrali.git
synced 2024-11-22 10:44:17 +00:00
1.1 KiB
1.1 KiB
Pila (Stack)
Una pila è una struttura dati contenente valori omogenei.
Proprietà
- I dati vi possono essere aggiunti solo tramite il metodo
push()
- I dati possono essere estratti solo tramite il metodo
pop()
- Verranno restituiti i valori inseriti secondo la strategia Last In, First Out (l'ultimo inserito sarà il primo a essere estratto).
Ci si può immaginare una pila di libri, da cui si può solo prendere un libro alla volta, quello più in alto.
Metodi
class Stack:
def __init__(self): "Crea una nuova pila."
def is_empty(self) -> bool: "Restituisce vero se la pila è vuota."
def push(self, data): "Aggiunge un dato alla pila."
def top(self) -> ...: "Restituisce il primo dato della pila."
def pop(self) -> ...: "Restituisce il primo dato della pila e lo rimuove."
Implementazione tramite lista
Utilizzando una lista possiamo realizzare una pila!
La direzione dei puntatori sarà dall'ultimo al primo, che non punterà più a nessuno.
Il costo di tutti i metodi è Θ(1)
!