PGCOMP/IC0004 - Algoritmos e Grafos
Material de estudos organizado pelo Prof. Marco Aurélio Thompson.
Aulas
Ferramentas de Apoio
Links Úteis
Bibliografia Oficial
Bibliografia de Apoio
Material Antigo
Aulas
Algoritmos: Definição (s7)
Problemas, Instâncias e Algoritmos (s8)
Correção e Desempenho de Algoritmos (s9)
O Problema da Parada: Conceito, Simulação e Prova por Contradição (s10-12)
Leitura de Pseudocódigo
Recursividade e Recursão
Insertion Sort (Ordenação por Inserção) (s14)
Invariante de Laço: Prova por Invariante e Correção do Insertion Sort (Ordenação por Inserção) (s15)
Análise de Tempo: O Modelo RAM com Simulador do Tamanho da Entrada (s17)
Revisão de Matemática: Funções
Revisão de Matemática: Somatórios
Análise de Complexidade: Cenários de Melhor Caso, Pior Caso e Caso Médio (s18)
Análise do Insertion Sort (Ordenação por Inserção): Melhor Caso (s19)
Análise do Insertion Sort (Ordenação por Inserção): Pior Caso (s20)
Revisão de Matemática: Logaritmos
Conversão entre Logaritmo, Potência e Raiz
Notações Assintóticas: Definições Formais (s21)
Visualização das Notações Assintóticas: Big O, Theta e Ômega (s22)
Exercício 1: Álgebra Assintótica — Significado das Relações (s25)
Exercício 1: Álgebra Assintótica — Somas Assintóticas (s25)
Exercício 2: Demonstrações e Propriedades (s26)
Bubble Sort (Ordenação da Bolha): Conceito e Pseudocódigo (s28)
Bubble Sort (Ordenação da Bolha): Invariante e Correção (s28)
Bubble Sort (Ordenação da Bolha): Complexidade (s28)
Bubble Sort (Ordenação da Bolha): Otimização (s28)
Selection Sort (Ordenação por Seleção): Conceito e Pseudocódigo (s29)
Selection Sort (Ordenação por Seleção): Correção e Complexidade
Revisão de Matemática: Matrizes
Laços Aninhados
Exercício: Complexidade de Matrizes e Laços Aninhados (s30)
Análise do Laço Interno (while) (s31)
Recursão, Recorrência e Relação entre Recursão e Recorrência
Fórmulas de Recorrência (s35)
Formulação: O Custo Passo a Passo (s36)
Busca Binária
Extraindo a Recorrência de Algoritmos: Busca Binária Iterativa (s38)
Extraindo a Recorrência de Algoritmos: Busca Binária Recursiva (s39)
Merge Sort (Ordenação por Intercalação)
Merge Sort (Ordenação por Intercalação): Recorrência (s40)
Merge Sort (Ordenação por Intercalação): Algoritmo 4 — Intercala (s41)
Métodos de Solução de Recorrências (s43)
Teorema Mestre (s55-59)
Teorema Mestre: Limitações (s60)
Método da Substituição (s44-49)
Método da Árvore de Recursão (s50-54)
Análise: A Função F(n) (s62)
Remoção de Histórico (s64-66)
Exercícios de Recorrência (s68)
Divisão e Conquista (s71)
Divisão e Conquista: Exemplo com Busca Binária (s72)
Divisão e Conquista: Exemplo com Merge Sort (Ordenação por Intercalação) (s72)
Outros Problemas Clássicos (s73)
Potência Inteira de um Número (s75-77)
Sequência de Fibonacci
N-ésimo Termo da Sequência de Fibonacci: Solução Ingênua (s79-83)
Torres de Hanói (s85-88)
Multiplicação Tradicional de Matrizes (s90-92)
Multiplicação de Matrizes: Algoritmo de Strassen (s93-95)
Encontrar o k-ésimo Elemento numa Sequência (s97-99)
A Rotina de Particionamento (Hoare) (s100)
Algoritmo: Seleção do k-ésimo Menor (s101-105)
Quick Sort (Ordenação Rápida) (s107-114)
Exercícios de Divisão e Conquista (s117-118)
Divisão e Conquista vs. Programação Dinâmica (s122)
Prova Resolvida: 2018.1
Prova Resolvida: 2025.1
Prova Resolvida: 2025.2
Prova Resolvida: 2026.1
Exercícios Resolvidos: Custo e Extração da Recorrência
Exercícios Resolvidos: Invariante de Laço
Exercícios Resolvidos: Teorema Mestre
Exercícios Resolvidos: Método da Árvore de Recursão
Exercícios Resolvidos: Método da Substituição
Exercícios Resolvidos: Remoção de Histórico
Exercícios Resolvidos: Divisão e Conquista
Exercícios Resolvidos: Potência Inteira de um Número
Exercícios Resolvidos: Sequência de Fibonacci
Exercícios Resolvidos: Torres de Hanói
Exercícios Resolvidos: Multiplicação de Matrizes com Strassen
Exercícios Resolvidos: K-ésimo Menor Elemento
Exercícios Resolvidos: Particionamento de Hoare
Exercícios Resolvidos: Quick Sort (Ordenação Rápida)
Provas Formais
Ferramentas de Apoio
Título da ferramenta
Links Úteis
Título do link
Bibliografia Oficial
Título do livro
Bibliografia de Apoio
Título do livro
Material Antigo
Título do material