Logo NEXUS

NEXUS didattica

← Torna indietro
Informatica / Lezione Teorica

Operazioni Push e Pop

Analisi algoritmica, complessità temporale e implementazione in linguaggio C delle operazioni fondamentali di una pila.

1. Dettaglio dell'operazione Push (Inserimento)

L'operazione Push consente di aggiungere un elemento in cima alla struttura (Top). Sia che lo stack sia implementato tramite un array statico o tramite una lista dinamica concatenata, l'inserimento avviene sempre a costo computazionale costante.

void push(int *stack, int *top, int valore, int maxSize) { if (*top >= maxSize - 1) { printf("Errore: Stack Overflow!\n"); return; } (*top)++; stack[*top] = valore; }

2. Dettaglio dell'operazione Pop (Rimozione)

L'operazione Pop preleva e rimuove l'elemento situato in cima alla pila.

int pop(int *stack, int *top) { if (*top < 0) { printf("Errore: Stack Underflow!\n"); return -1; } int rimosso = stack[*top]; (*top)--; return rimosso; }
Complessità Computazionale:

Sia l'operazione Push che l'operazione Pop operano in tempo costante nel caso peggiore: $$\mathcal{O}(1)$$ Poiché l'accesso avviene sempre e solo in cima, non è necessario scorrere alcun elemento della struttura.