Curso de Análise e Síntese de Algoritmos
Entenda como funciona este tipo de estudo.
- Professor: Luís Felipe Ignácio Cunha
- Nível do curso: Básico
A palavra algoritmo pode ser utilizada nos mais diversos contextos. Mas ela costuma aparecer com mais frequência em assuntos que estão diretamente relacionados a tecnologia. De uma forma geral, ela pode ser definida como uma sequência de raciocínios, instruções ou operações para alcançar um objetivo, sendo necessário que os passos sejam finitos e operados sistematicamente.
Já a análise de algoritmos se dedica especialmente a estudar a correção e o desempenho destes algoritmos. Ou seja, ela se dedica a perguntar e encontrar respostas para questões como “Este algoritmo resolve o meu problema?”, ou “Quanto tempo o algoritmo consome para processar uma ‘entrada’ de tamanho ‘n’?”, por exemplo.
Aprenda mais sobre análise e síntese de algoritmos neste curso online e gratuito. Não deixe de conferir também o curso de algoritmos.
Sobre o curso
Neste curso online e gratuito os alunos poderão aprender mais sobre como funciona a análise e a síntese de algoritmos. Ao longo do curso, os estudantes poderão entender melhor como essa área funciona, entender melhor conceitos como eficiência computacional, aprender o que é um algoritmo de busca, dentre outros assuntos pertinentes.
Estrutura do curso
Aula 0 – Apresentação do Curso de Análise e Síntese de Algoritmos
Aula 1 – Eficiência Computacional (parte I) – Corretude, Eficiência e Complexidade
Aula 2 – Eficiência Computação (parte II): Notação O, Omega, Theta, Algoritmos Ótimos
Aula 3 – Algoritmos de Busca: Pior caso e Caso médio (Busca com sentinela e Busca Binária)
Aula 4 – Relações de Recorrência e Soluções por Substituições Regressivas
Aula 5 – Resolução de Relações de Recorrência (Raízes Características)
Aula 6 – Entendendo e Demonstrando o Teorema Mestre
Aula 7 – Dividir para Conquistar
Aula 10 – Programação Dinâmica: Obtendo a Longest Increasing Subsequence
Aula 11 – Distância de Edição
Revisão – Complexidade de Algoritmos, Dividir para Conquistar, Guloso, Programação Dinâmica
Aula de Revisão – Distância de Edição e argumentos de otimalidade
Aula 12 – Entendendo Problemas de Otimização, Decisão, P, NP, co-NP e Complementos de Problemas
Aula 13 – Entendendo SAT, Clique, Grafos Hamiltonianos e 2SAT
Aulas:
-
Aula 0 - Apresentação do Curso de Análise e Síntese de AlgoritmosAula 1 - Eficiência Computacional (parte I) - Corretude, Eficiência e ComplexidadeAula 2 - Eficiência Computação (parte II): Notação O, Omega, Theta, Algoritmos ÓtimosAula 3 - Algoritmos de Busca: Pior caso e Caso médio (Busca com sentinela e Busca Binária)Aula 4 - Relações de Recorrência e Soluções por Substituições RegressivasAula 5 - Resolução de Relações de Recorrência (Raízes Características)Aula 6 - Entendendo e Demonstrando o Teorema MestreAula 7 - Dividir para ConquistarAula 10 - Programação Dinâmica: Obtendo a Longest Increasing SubsequenceAula 11 - Distância de EdiçãoRevisão - Complexidade de Algoritmos, Dividir para Conquistar, Guloso, Programação DinâmicaAula de Revisão - Distância de Edição e argumentos de otimalidadeAula 12 - Entendendo Problemas de Otimização, Decisão, P, NP, co-NP e Complementos de ProblemasAula 13 - Entendendo SAT, Clique, Grafos Hamiltonianos e 2SAT