Disciplina

Área

Área Científica de Metodologia e Tecnologia da Programação > Algoritmia

Activa nos planos curriculares

LEIC-T 2021 > LEIC-T 2021 > 1º Ciclo > Área Principal > Introdução aos Algoritmos e Estruturas de Dados

LEME 2021 > Leme 2021 > 1º Ciclo > Área Principal > Introdução aos Algoritmos e Estruturas de Dados

LETI 2021 > Leti 2021 > 1º Ciclo > Área Principal > Introdução aos Algoritmos e Estruturas de Dados

LEIC-A 2021 > Leic-a 2021 > 1º Ciclo > Área Principal > Introdução aos Algoritmos e Estruturas de Dados

LERC 2006 > LERC 2006 > 1º Ciclo > Ciências da Engenharia Informática > Introdução aos Algoritmos e Estruturas de Dados

LEIC-A 2006 > LEIC-A 2006 > 1º Ciclo > Ciências da Engenharia Informática > Introdução aos Algoritmos e Estruturas de Dados

LEIC-T 2006 > LEIC-T 2006 > 1º Ciclo > Ciências da Engenharia Informática > Introdução aos Algoritmos e Estruturas de Dados

Nível

50% Exame, 40% Projecto, 10% Fichas

Tipo

Não Estruturante

Regime

Semestral

Carga Horária

1º Semestre

3.0 h/semana

1.5 h/semana

147.0 h/semestre

Objectivos

Ganhar conhecimentos de programação numa linguagem imperativa. Adquirir conhecimentos sobre algoritmos básicos de ordenação e procura. Saber seleccionar, criar e utilizar estruturas de dados elementares. Saber projectar algoritmos iterativos e recursivos, para a resolução de problemas. Saber analisar a complexidade dos algoritmos utilizados para resolver um dado problema por forma a poder escolher aqueles que sejam mais eficientes.

Programa

Introdução à programação imperativa e à linguagem de programação 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: pilhas, filas de espera, filas de prioridade, amontoados, árvores. Implementações vectoriais e dinâmicas. Á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.

Metodologia de avaliação

50% Exame, 40% Projecto, 10% Fichas

Bibliografia

Principal

Algorithms in C

Robert Sedgewick

1997

Addison-Wesley Publishing Company


The C Programming Language,

Brian W. Kernighan, Dennis Ritchie

1988

Prentice Hall


Introduction to Algorithms

T. Cormen, C. Leiserson, R. Rivest e C. Stein

2001

McGraw Hill e MIT Press