Algoritmos e Estruturas de Dados (2019/2020) - Departamento de Informática

Informação adicional: https://moodle.fct.unl.pt/course/view.php?id=5467

Descrição

Introdução dos conceitos fundamentais de algoritmos e das estruturas de dados básicas, como ferramentas essenciais para resolver problemas de forma eficiente.

Dois hábitos são particularmente exercitados: analisar a eficiência de um algoritmo antes de o implementar e separar o tipo abstracto de dados das estruturas de dados que o implementam.

Objectivos

Saber

1.Complexidade assintótica, temporal e espacial.

2.Tipos abstratos de dados e estruturas de dados fundamentais.

3.Sistematizar a utilização das estruturas de dados na resolução de categorias de problemas reais.

4.Técnicas fundamentais de desenho de algoritmos (divisão e conquista e função-memória).

5.Algoritmos de ordenação e suas condições de aplicação.

Saber Fazer

6.Calcular a complexidade de algoritmos polinomiais ou exponenciais, iterativos ou recursivos.

7.Modelar programas usando tipos abstratos de dados.

8.Escolher, comparar, adaptar e utilizar estruturas de dados adequadas ao problema.

9.Implementar estruturas de dados, em particular, recorrendo a gestão dinâmica de memória.

10.Implementar algoritmos recursivos polinomiais.

Competências Complementares

11.Efetuar escolhas fundamentadas.

12.Concretização na implementação de um projeto.

13.Avaliar soluções.

14.Gestão do tempo.

15.Comunicação escrita: relatório de projeto da disciplina.

16.Comunicação oral: discussão do projeto da disciplina.

Programa

Introdução à Análise de Algoritmos

B.Introdução à Recursividade

C.Tipos Abstratos de Dados

D.Estruturas de Dados

E.Algoritmos de Ordenação

Bibliografia Principal

Referências Principais

Referência Mais Avançada

Requisitos Prévios

Os alunos deverão ter realizado as unidades curriculares de Introdução à Programação e de Programação Orientada pelos Objectos.

Os alunos deverão ter:

Esforço do Aluno
  Horas por crédito 28
  Horas p/ semana Semanas Horas
Aulas práticas e laboratoriais   26.0
Aulas teóricas   42.0
Avaliação   4.0
Estudo   42.0
Orientação tutorial   3.0
Projectos e trabalhos   130.0
Total de Horas 247
ECTS 9.0