Algoritmos e Complexidade
2019/2020 - 2. Semestre
Turma Prática P2
TURMA P2 (3a-feira) - SUMÁRIOS
1. Lição - 11/fevereiro/2020
Introdução à Linguagem de Programação C
Características principais
Comparação com a linguagem de programação Java
Análise, compilação e execução de exemplos simples
2. Lição - 19/fevereiro/2020
Análise da complexidade de algoritmos iterativos simples
Análise experimental
Análise formal
3. Lição - 3/março/2020
Análise experimental do desempenho de algoritmos para cálculo de uma Generalização dos Números de Fibonacci
Implementação de diferentes algoritmos: recursivo, iterativo e solução da equação de recorrência
Contagem e análise do número de multiplicações efetuadas pelos algoritmos recursivo e iterativo
Registo e análise de tempos de execução para os algoritmos implementados
4. Lição - 10/março/2020
Análise da complexidade de algoritmos iterativos
Desenvolvimento de algoritmos sobre arrays 1D
Análise experimental e formal da sua complexidade
5. Lição - 24/março/2020
Ensino a Distância
Análise da complexidade de algoritmos iterativos
Desenvolvimento de algoritmos sobre arrays 1D
Configurações que ilustram o melhor caso, o pior caso e o caso médio
Análise experimental e formal da complexidade
6. Lição - 31/março/2020
Ensino a Distância
Análise da complexidade de algoritmos recursivos
Desenvolvimento de algoritmos recursivos usando as estratégias "decrease-and-conquer" e "divide-and-conquer"
Análise experimental e formal da sua complexidade
7. Lição - 14/abril/2020
Ensino a Distância
Desenvolvimento e análise da complexidade de algoritmos recursivos e de programação dinâmica
Números de Motzkin
Transformação de um algoritmo recursivo em iterativo, usando programação dinâmica
Análise experimental e formal da complexidade
8. Lição - 21/abril/2020
Ensino a Distância
Tipos Abstratos de Dados (TADs)
Análise, desenvolvimento e teste do TAD TIME
Análise, desenvolvimento e teste do TAD DATE
9. Lição - 28/abril/2020
Ensino a Distância
Tipos Abstratos de Dados (TADs) (cont.)
Análise, desenvolvimento e teste do TAD DATETIME
Análise, desenvolvimento e teste do TAD TIMEINTERVAL
O TAD SCHEDULINGSEQUENCE
Representação usando um array
Análise de algumas funcionalidades
10. Lição - 5/maio/2020
Ensino a Distância
Tipos Abstratos de Dados (TADs) (cont.)
Análise, desenvolvimento e teste do TAD SORTEDLIST
O TAD SCHEDULINGSEQUENCE - Nova versão
Representação usando uma lista ligada ordenada - TAD SORTEDLIST
Desenvolvimento e teste
11. Lição - 19/maio/2020
Ensino a Distância
Tipos Abstratos de Dados (TADs) (cont.)
Análise, desenvolvimento e teste do TAD BSTREE
O TAD SCHEDULINGSEQUENCE - Nova versão
Representação usando uma árvore binária de procura - TAD BSTREE
Desenvolvimento e teste
12. Lição - 26/maio/2020
Ensino a Distância
Tipos Abstratos de Dados (TADs) (cont.)
O tipo abstrato de dados MIN-HEAP
Desenvolvimento e teste
Desenvolvimento de um exemplo de aplicação
13. Lição - 2/junho/2020
Ensino a Distância
O tipo abstrato de dados GRAFO
Implementação usando uma lista de vértices e listas de adjacências
Análise, desenvolvimento e teste de algumas funcionalidades
14. Lição - 9/junho/2020
Ensino a Distância
O tipo abstrato de dados GRAFO (cont.):
Continuação do desenvolvimento e teste de algumas funcionalidades
Autor: Joaquim Madeira - jmadeira@ua.pt
Data: 9 de junho de 2020