Aula 12 - Algoritmos de Ordenação Eficientes: MergeSort e QuickSort 🧱
Estruturas de Dados e Algoritmos
Agenda da Sessão 📅
Fundamentação Teórica & Problema
Invariância da Estrutura & Complexidade Big-O
Alocação Dinâmica na Heap & Ponteiros
Implementação Prática em Linguagem C
Análise de Casos de Borda & Debug
1. Visão Geral & Importância 🎯
Como organizar dados em memória de forma eficiente?
Diferença de performance entre \(O(1)\), \(O(\log n)\) e \(O(n)\).
Gestão de memória rigorosa: alocação e desalocação consciente.
2. Princípios Algorítmicos 🧠
Divisão e Conquista: Diretriz central.
MergeSort O(n log n): Representação em memória.
QuickSort In-Place: Operação assintótica.
3. Código Exemplo em C 💻
// Partição de Lomuto para QuickSort O(n log n)intparticionar(intarr[],intbaixo,intalto){intpivo=arr[alto];inti=(baixo-1);for(intj=baixo;j<alto;j++){if(arr[j]<=pivo){i++;i
4. Atividades da Aula 🚀
Ler o conteúdo teórico completo da Aula 12.
Resolver o Quiz de 10 Questões Interativas.
Praticar com os Exercícios e conferir o Gabarito Explicado.
Desenvolver o Projeto de TAD sem vazamentos de memória.