Estruturas de Dados e Algoritmos

Disciplina da Secção de Lógica e Computação.

Cursos:
LEBM (Licenciatura em Engenharia Biomédica). Ano: 1. Semestre: 2.
LCI (Licenciatura em Ciências Informáticas). Ano: 1. Semestre: 2.
LMAC (Licenciatura em Matemática e Computação). Ano: 3. Semestre: 2.


Professor Responsável: Francisco Miguel Dionísio.


Objectivos gerais

Complementar os conhecimentos de programação já adquiridos com vista ao desenvolvimento de aplicações interactivas de grande escala com recurso a bases de dados.

Objectivos operacionais

Programar em linguagem de programação imperativa de grande difusão, recorrendo a algoritmos e estruturas de dados comuns. Calcular o comportamento assimptótico dos algoritmos. Desenhar e utilizar bases de dados relacionais. Desenvolver aplicações na web com acesso a base de dados.

Programa

Programação imperativa em C. Introdução ao estudo da eficiência de algoritmos. Algoritmos de ordenação elementares e avançados: inserção directa, selecção directa, bubblesort, quicksort, fusão binária e heapsort. Tipos de dados abstractos: pilhas, filas de espera, filas de prioridade, árvores. Implementações vectoriais e dinâmicas em C. Árvores binárias de pesquisa. Árvores de pesquisa equilibradas. Tabelas de dispersão. Resolução de colisões por encadeamento e por endereçamento aberto. Endereçamento linear, quadrático e dispersão dupla. Mecanismos de modularidade em C. Elementos de bases de dados relacionais (PostgreSQL). Desenvolvimento de aplicações na web sobre bases de dados (PHP).

Bibliografia básica

Bibliografia complementar

Avaliação

Projecto (50%) e 3 testes (50%).

Carga horária semanal

Aulas teóricas: 3h. Aulas práticas: 2h. Estudo recomendado: 4h.


Última actualização: 27 de Janeiro de 2004.