Estruturas de Dados

Departamento de Informática

Escola Superior de Tecnologia de Viseu

Eng.ª de Sistemas e Informática

1º Ano 2º Semestre - 2004/2005

 

Programa

Bibliografia

Avaliação

Aulas

Materiais Apoio

Trabalhos

Datas

Sumários

Notas

 

Sumários

Aulas Teóricas

Aulas Teorico-práticas Turnos 1, 2 e 3

Aulas Práticas Turno 1
Aulas Práticas Turno 2
Aulas Práticas Turnos 3 e 4


Sumário Aulas Teóricas
Aula Data Sumário
1 21.02.2005 Apresentação. Motivação para a disciplina. Objectivos e programa da disciplina. Apresentação da bibliografia base da disciplina e método de avaliação.
2 22.02.2005 Introdução à linguagem C. Estrutura básica de um programa.
Funções. Programa Principal. Tipos de variáveis.
Atribuição e Entrada/Saída.
3 28.01.2005 Estudo das funções de entrada e saída printf e scanf. Exemplos de aplicação.
Os operadores na linguagem C.
Operadores aritméticos. Operadores relacionais. Operadores lógicos. Operadores para 
manipulação de bits.
4 01.03.2005 Exemplos de utilização dos operadores na linguagem C.
5 07.03.2005 Instruções condicionais: Instrução if..else. Instrução else..if. Instrução switch.
Instruções de repetição ou ciclos: Ciclo while e ciclo do..while.
6 08.03.2005 Instruções de repetição ou ciclos: Ciclo do..while e ciclo for. Exemplos de utilização de ciclos.
Instruções break e continue. Declaração de variáveis dentro de blocos. Retorno de valores de 
funções.
7 14.03.2005 Retorno de valores de funções.
Estudo dos tipos estruturados. Os array's. As string's como um caso array's de caracteres.
Início do estudo dos ponteiros.
8 15.03.2005 Continuação do estudo dos ponteiros.
Conversão de tipos usando cast's.
9 04.04.2005 Conversão de tipos usando cast's.
Alocação dinâmica de memória. As funções sizeof() e malloc().
Funções e Procedimentos passados como parâmetro.
10 05.04.2005 Estruturas. Declaração de variáveis e tipo. Acesso aos campos de uma estrutura. Array's de 
estruturas.
11 11.04.2005 Definição de tipos usando typedef.
Passagem de array's como parâmetro para funções. Exemplos de aplicação. 
12 12.04.2005 Funções de conversão de string para valor: atoi(), atof(), atol().
Conceito de ponteiro para ponteiro. Exemplos de utilização.
Revisões e resolução de exercícios de frequências de anos anteriores.
13 26.04.2005 Utilização de Ficheiros. Abertura e fecho dos ficheiros - fopen e fclose. Escrita e leitura de dados - funções fprintf, fwrite, fscanf, fgets e fread. Deslocamento em ficheiros (fseek), verificação da posição actual no ficheiro (ftell) e teste de fim de ficheiro (feof).
14 02.05.2005 Ficheiros Indexados: Conceito e utilidade dos ficheiros indexados. Introdução de novos registos em ficheiros indexados. Pesquisa de registos em ficheiros indexados.
15 03.05.2005 Remoção de registos de ficheiros indexados. Eliminação dos registos vagos dos ficheiros indexados (garbage dump). Escrita de novos registos nas posições de registos vagos em ficheiros indexados.
16 09.05.2005 Estruturas de dados dinâmicas: conceito de Stack (Pilha). Inserção, consulta e remoção de elementos de uma pilha.
17 10.05.2005 Listagem de todos os elementos da Pilha. Conceito de Fila de espera (FIFO). Inserção e remoção de elementos de uma Fila espera. Listagem de todos os elementos da Fila de Espera. 
18 16.05.2005 Conceito de lista ligada ordenada. Inserção de elementos numa Lista ligada ordenada segundo um determinado campo. Remoção de um elemento de uma Lista Ligada Ordenada. Listagem de todos os elementos da Lista ligada Ordenada.
19 17.05.2005 Conceito de Lista Bi-ligada Ordenada. Inserção de elementos numa Lista Bi-ligada Ordenada segundo um determinado campo. Remoção de um elemento de uma Lista Bi-ligada Ordenada. Listagem dos elementos da Lista Bi-ligada Ordenada nos dois sentidos. 
20 23.05.2005 Apontadores para void. Noções de programação modular.
21 24.05.2005 Programação Modular: Implementação e utilização de um módulo para listas ligadas ordenadas.
22 30.05.2005 Árvores: Conceito e tipos de árvores. Árvores Binárias: Conceito e introdução de novos elementos numa árvore binária.
23 31.05.2005 Árvores Binárias: Consulta de árvores e Recursividade. Diversos algoritmos recursivos para percorrer todos os nós de uma árvore - Travessias Inorder, Preorder e Postorder.
24 06.06.2005 Remoção de elementos de uma árvore binária.
25 07.06.2005 Exemplos das diferentes situações que podem ocorrer na remoção de nós de uma árvore.
Hashing: Conceito e Função de Hashing. Formas de tratar colisões.
26 13.06.2005 Hashing: Pool´s de colisões. Inserção e remoção de elementos numa tabela de Hashing.
27 14.06.2005 .

 

Carlos Simões 2005  *