Aviso: Se está a ler esta mensagem,
provavelmente, o browser que utiliza não é
compatível com os "standards" recomendados pela W3C. Sugerimos vivamente que actualize
o seu browser para ter uma melhor experiência de
utilização deste "website". Mais
informações em webstandards.org.
Warning: If you are reading this message, probably,
your browser is not compliant with the standards recommended by the W3C. We suggest that you upgrade your
browser to enjoy a better user experience of this website. More
informations on webstandards.org.
Algoritmos e Estruturas de Dados
(2
º Sem
2019/2020)
Código:
L5097
Acrónimo:
L5097
Nível:
1º Ciclo
Estruturante:
Não
Língua(s) de Ensino:
Português, Inglês
Língua(s) amigável(is):
Ser English-friendly ou qualquer outra língua-friendly, significa que a UC é leccionada numa língua mas que se pode verificar qualquer uma das
seguintes condições:
1. Existem materiais de apoio em língua inglesa/outra língua;
2. Existem exercícios, testes e exames em língua inglesa/outra língua;
3. Existe a possibilidade de se apresentar trabalhos escritos ou orais em língua inglesa/outra língua.
1
6.0
0.0 h/sem
54.0 h/sem
0.0 h/sem
0.0 h/sem
0.0 h/sem
0.0 h/sem
1.0 h/sem
55.0 h/sem
95.0 h/sem
0.0 h/sem
150.0 h/sem
Em vigor desde o ano letivo
2019/2020
Pré-requisitos
Nenhum
Objectivos
A disciplina aprofunda técnicas de concepção e desenvolvimento de algoritmos e estruturas de dados e introduz a análise da complexidade e desempenho de algoritmos. São apresentados algoritmos de pesquisa e ordenação baseados em estruturas de dados elementatres concebidas para suportar operações eficientes e computacionalmente exequíveis. A disciplina segue diretamente a estrutura de curso apresentada em Sedgewick, R. and Wayne, K. (2011).
Programa
1. Introdução 2. O problema ?Union?Find? 3. Análise de Algoritmos 4. Stacks e Filas 5. Ordenação Elementar 6. Mergesort 7. Quicksort 8. Filas com Prioridade 9. Tabelas de Símbolos Elementares 10. Árvores de Pesquisa Equilibradas 11. Aplicações Geométricas de BST (*) 12. Tabelas de Dispersão 13. Aplicações de Tabelas de Símbolos (*)
(*) opcional
Processo de avaliação
TIPO A Avaliações semanais online (10%) + 2 testes (50%) + Um exercício de programação (40%) Mini-avaliações, testes e exercícios de programação são os de Coursera (Algorithms, Part I)
TIPO B Avaliações semanais online como tipo A (10%) Inscrição (GRUPO DE 2/3) e realização do MOOC Coursera (Algorithms, Part I) c/3 assignments passados (>80%). Bónus de (2) valores. Sessão oral para apresentação da experiência dos estudantes.
TIPO C Exame final para alunos sem aprovação Tipo A ou Tipo B
Processo de ensino-aprendizagem
Aulas teorico-práticas e/ou aprendizagem independente através de cursos abertos online (Cousera.org)
Observações
Nenhum
Bibliografia básica
R. Sedgewick and K. Wayne, Algorithms, 4th edition, Addison-Wesley, 2012
(Algorithms, Part I - MOOC in www.coursera.org)
Bibliografia complementar
F. Santos, Algoritmos e Estruturas de Dados - Folhas de Apoio, ISCTE-IUL, 2013. F. Santos, Algoritmos e Estruturas de Dados - Exercícios, ISCTE-IUL, 2010. N. Wirth, Algorithms & data Structures, Prentice-Hall, 1986.