Aula T.13.2
08/06/07 10:00 Filed in: Sumários das Aulas Teóricas
Notas finais sobre o funcionamento da disciplina.
Aula T.13.1
05/06/07 08:00 Filed in: Sumários das Aulas Teóricas
Inclusão da classe P em NP.
Alguns exemplos de problemas NP-completos.
Alguns exemplos de problemas não-computáveis: Halting e Correspondência de Post.
Avaliação do ensino ministrado.
Alguns exemplos de problemas NP-completos.
Alguns exemplos de problemas não-computáveis: Halting e Correspondência de Post.
Avaliação do ensino ministrado.
Aula T.12.2
01/06/07 10:00 Filed in: Sumários das Aulas Teóricas
Classes de problemas: a classe P.
Algoritmos não-determinísticos e a classe NP.
Noção de redução e a classe NP-completo.
Algoritmos não-determinísticos e a classe NP.
Noção de redução e a classe NP-completo.
Aula T.12.1
29/05/07 08:00 Filed in: Sumários das Aulas Teóricas
Propriedade de sub-problema óptimo como garantia de correcção de algoritmos greedy.
Contra-exemplo: pesos negativos nos algoritmos de Dijkstra e Prim.
Motivação da classificação de problemas. Definições informais das classes P e NP.
Contra-exemplo: pesos negativos nos algoritmos de Dijkstra e Prim.
Motivação da classificação de problemas. Definições informais das classes P e NP.
Aula T.11.2
25/05/07 10:00 Filed in: Sumários das Aulas Teóricas
Algoritmo de Kurskall para calcular a árvore geradora de custo mínimo.
Pormenores de implementação: uso de heaps para armazenamento das arestas e estruturas de find&union para detecção de ciclos.
Pormenores de implementação: uso de heaps para armazenamento das arestas e estruturas de find&union para detecção de ciclos.
Aula T.11.1
22/05/07 08:00 Filed in: Sumários das Aulas Teóricas
Árvore geradora de custo mínimo: algoritmo de Prim como exemplo de algoritmo greedy.
Representação de uma árvore geradora através do vector de ascendentes.
Representação de uma árvore geradora através do vector de ascendentes.
Aula T.10.1
08/05/07 08:00 Filed in: Sumários das Aulas Teóricas
Algoritmos de procura em grafos: estratégia global de procura.
Análise de alguns exemplos.
Travessias de um grafo a partir de um vértice: Breadth-first e Depth-first.
Análise de alguns exemplos.
Travessias de um grafo a partir de um vértice: Breadth-first e Depth-first.
Aula T.9.2
04/05/07 10:00 Filed in: Sumários das Aulas Teóricas
Outras implementações de grafos: listas duplamente ligadas e vector de adjacências.
Aula T.8.2
27/04/07 10:00 Filed in: Sumários das Aulas Teóricas
Grafos: motivação e definições.
Implementações das arestas de um grafo como matrizes ou listas de adjacência.
Análise informal da complexidade de algumas operações básicas sobre grafos nestas duas implementações (existência de uma aresta, cálculo dos sucessores e cálculo dos sucessores).
Implementações das arestas de um grafo como matrizes ou listas de adjacência.
Análise informal da complexidade de algumas operações básicas sobre grafos nestas duas implementações (existência de uma aresta, cálculo dos sucessores e cálculo dos sucessores).
Aula Extra (TP1)
26/04/07 16:00 Filed in: Avisos
No próximo dia 2 de Maio vai haver uma aula extra para compensar o reduzido número de Terças-feiras.
Será no DI-A2 das 8:00 às 10:00.
Será no DI-A2 das 8:00 às 10:00.
Aula T.8.1
24/04/07 08:00 Filed in: Sumários das Aulas Teóricas
Análise das recorrências dos algoritmos merge-sort e quick-sort.
Identificação do melhor e pior casos para o algoritmo de quick-sort.
Determinação do limite inferior para o pior caso dos algoritmos de ordenação baseados em comparação de elementos.
Algoritmo de counting-sort como alternativa (linear) aos algoritmos baseados em comparações.
Identificação do melhor e pior casos para o algoritmo de quick-sort.
Determinação do limite inferior para o pior caso dos algoritmos de ordenação baseados em comparação de elementos.
Algoritmo de counting-sort como alternativa (linear) aos algoritmos baseados em comparações.
Aula T.7.2
20/04/07 10:00 Filed in: Sumários das Aulas Teóricas
Estratégia divide-and-conquer e recorrências associadas.
Aplicação aos algoritmos de ordenação de vectores (merge-sort e quick-sort)
Aplicação aos algoritmos de ordenação de vectores (merge-sort e quick-sort)
Aula T.7.1
17/04/07 08:00 Filed in: Sumários das Aulas Teóricas
Propriedades das notações O, Ω e Θ.
Classificação de funções polinomiais.
Classificação de funções polinomiais.
Enunciado
16/04/07 13:30 Filed in: Trabalhos Prácticos
Já se encontra disponível (ver Material de Apoio) o enunciado do trabalho prático.
Aula T.6.2
13/04/07 10:00 Filed in: Sumários das Aulas Teóricas
Definição do tempo de execução de um dado algoritmo usando relações de recorrência (exemplo: pior caso da procura binária).
Análise assimptótica: notações O, Ω, Θ.
Análise assimptótica: notações O, Ω, Θ.
Aula T.5.2
30/03/07 10:00 Filed in: Sumários das Aulas Teóricas
Cálculo do número de operações do algoritmo de merge usado na ordenação merge-sort.
Aula T.5.1
27/03/07 08:00 Filed in: Sumários das Aulas Teóricas
Cálculo do número de operações atómicas de um algoritmo de ordenação.
Aula T.4.2
23/03/07 10:00 Filed in: Sumários das Aulas Teóricas
Introdução à análise da complexidade de algoritmos.
Máquina abstracta, tamanho do input, estado do input como parâmetros da simplificação da análise.
Exemplificação destes conceitos para o algoritmo de ordenação de um vector de inteiros por troca directa.
Máquina abstracta, tamanho do input, estado do input como parâmetros da simplificação da análise.
Exemplificação destes conceitos para o algoritmo de ordenação de um vector de inteiros por troca directa.
Aula T.4.1
20/03/07 08:00 Filed in: Sumários das Aulas Teóricas
Aula de demonstração do uso de ferramentas aplicadas à verificação de programas.
Aula T.3.2
16/03/07 10:00 Filed in: Sumários das Aulas Teóricas
Uso de invariantes como forma de descrever algoritmos cíclicos. Exemplos: procura num vector ordenado, algoritmo de Euclides, partição de um vector.
Aula T.3.1
13/03/07 08:00 Filed in: Sumários das Aulas Teóricas
Outros exemplos de correcção de programas com ciclos: divisão inteira.
Aula T.2.2
09/03/07 10:00 Filed in: Sumários das Aulas Teóricas
Derivação da multiplicação de inteiros à custa da multiplicação e divisão por 2.
Aula T.2.1
06/03/07 08:00 Filed in: Sumários das Aulas Teóricas
Fortalecimento de especificações (fortalecimento da pré-condição e enfraquecimento da pós-condição).
Exemplo de prova de um programa com ciclos (multiplicação por somas sucessivas).
Exemplo de prova de um programa com ciclos (multiplicação por somas sucessivas).
Aula T.1.2
02/03/07 10:00 Filed in: Sumários das Aulas Teóricas
Correcção das condicionais e da atribuição.
Correcção da sequenciação.
Exemplo de prova de correcção: swap.
Correcção parcial de ciclos: noção de invariante.
Prova da terminação de um ciclo: noção de variante.
Correcção da sequenciação.
Exemplo de prova de correcção: swap.
Correcção parcial de ciclos: noção de invariante.
Prova da terminação de um ciclo: noção de variante.
Aula T.0.2
23/02/07 10:00 Filed in: Sumários das Aulas Teóricas
Apresentação da disciplina: objectivos, programa, equipa docente e métodos de avaliação.
Introdução à análise da correcção de algoritmos. Noções de pré e pós-condições. Exemplos.
Introdução à análise da correcção de algoritmos. Noções de pré e pós-condições. Exemplos.