📊 Capítulo 05: Estruturas de Dados Lineares
Módulo 01: Fundamentos da Computação
🗺️ O Espectro das Estruturas Lineares
flowchart LR
VETOR["Vetores Contíguos\n(Acesso O(1) / Cache Line)"]
--> LISTA["Listas Encadeadas\n(Nós e Ponteiros / Inserção O(1))"]
--> PILHA["Pilhas (LIFO)\n(Push / Pop / Call Stack)"]
--> FILA["Filas (FIFO)\n(Enqueue / Dequeue / Ring Buffer)"]
style VETOR fill:#ede7f6,stroke:#512da8,stroke-width:2px
style LISTA fill:#e8f5e9,stroke:#4caf50,stroke-width:1.5px
style PILHA fill:#fff3e0,stroke:#ff9800,stroke-width:1.5px
style FILA fill:#e1f5fe,stroke:#03a9f4,stroke-width:1.5px
🎯 Slide 1: Vetores Estáticos vs Dinâmicos
-
Memória Contígua: Elementos armazenados lado a lado na RAM com indexação direta: \(\text{Endereço}(i) = \text{Base} + i \times \text{Size}\) —
-
Acesso $O(1)$: Velocidade máxima impulsionada por cache hits de 64 bytes.
- Custo de Redimensionamento: Custo amortizado $O(1)$ ao dobrar a capacidade (Amortized Doubling).
🎯 Slide 2: Listas Encadeadas (Simples e Duplas)
-
Nós Dispersos: Cada nó contém seu dado e um ponteiro para o próximo (
next). -
Inserção/Remoção em $O(1)$: Não requer deslocamento de elementos na memória.
- Desvantagem de Hardware: Falta de localidade espacial (Cache Misses frequentes).
🎯 Slide 3: Pilhas (LIFO) e Filas (FIFO)
-
Pilha (Last-In, First-Out): Operações
pushepopno topo (usada em avaliações de expressões e chamadas de função). -
Fila (First-In, First-Out): Operações
enqueueno fim edequeueno início (usada em buffers de mensagens e escalonamento). - Ring Buffer: Implementação circular eficiente sobre vetor fixo sem alocação dinâmica.
Slide 1 de 1
Atalhos: ← → Navegar • Espaço Avançar • F Tela Cheia • Home Início • End Fim