Aula 08

Pilhas (Stacks): Princípio LIFO e Aplicações

Estruturas de Dados Avançadas

Objetivos Didáticos

  • Estrutura Last-In First-Out (LIFO), operações push, pop, peek e isEmpty em O(1). Aplicações: avaliação de expressões em Notação Polonesa Reversa (RPN) e validação de parênteses.
  • Eficiência assintótica de tempo e espaço
  • Implementação em C com integridade de memória

Conceitos Fundamentais

  • Princípio LIFO
  • Push e Pop O(1)
  • Stack Overflow
  • Notação RPN
  • Validação de Escopo

Estrutura de Implementação

// Pilha Dinâmica LIFO
typedef struct {
    int* itens;
    int topo;
    int capacidade;
} Pilha;

void pilha_push(Pilha* p, int valor) {
    if (p->topo == p->capacidade - 1) return; // Cheia
    p->itens[++p->topo] = valor;
}

int pilha_pop(Pilha*

Próximos Passos

Acesse os Exercícios com Gabarito e o Projeto Prático.