Sumários
Aula# |
Data |
Sumário |
1 |
21-02-2000 |
Apresentação da ficha da disciplina. Introdução à programação estruturada em C++. |
2 |
23-02-2000 |
Entrada e saída de dados; instruções de controlo do fluxo do programa. |
3 |
28-02-2000 |
Tipos de dados básicos; operadores e expressões. |
4 |
02-03-2000 |
Funções; funções inline, argumentos por referência; argumentos por omisão; sobrecarga de funções; padrões (templates) de funções. |
5 |
08-03-2000 |
Arrays. |
6 |
13-03-2000 |
Apontadores. Strings. Alocação e libertação dinâmica de memória com new e delete. |
7 |
15-03-2000 |
Análise de algoritmos: noção de complexidade temporal e espacial; notação de O grande. Descrição, análise e codificação de algoritmos de pesquisa de arrays: pesquisa sequencial e pesquisa binária. |
8 |
20-03-2000 |
Descrição, análise e codificação de algoritmos de ordenação de arrays: ordenação por inserção e ordenação por partição. |
9 |
22-03-2000 |
Estruturas, uniões, enumerações e typedef. |
10 |
27-03-2000 |
Não houve aula por ausência do docente. |
11 |
29-03-2000 |
Introdução à programação orientada aos objectos em C++; conceito de classe e conceito de objecto; membros-função de classes; restrições de acesso. |
12 |
03-04-2000 |
Construtores e destrutores; objectos e membros constantes; inicializadores de membros; composição de classes; classes e funções friend; apontador this; criação e destruição de objectos com new e delete; membros estáticos; introdução à sobrecarga de operadores. |
13 |
05-04-2000 |
Padrões (templates) de classes; introdução ao tratamento de excepções. Listas Lineares: o tipo de dados abstracto; representação em array; |
14 |
10-04-2000 |
Listas Lineares: representação ligada em cadeia; listas circulares e listas duplamente ligadas |
15 |
12-04-2000 |
Listas Lineares: representação por endereçamento indirecto |
16 |
17-04-2000 |
Listas Lineares: representação por simulação de apontadores |
17 |
19-04-2000 |
Aplicação de listas lineares. Pilhas: tipo de dados abstracto; implementação baseada em array; implementação baseada em cadeia; exemplo de aplicação. |
18 |
03-05-2000 |
Filas: tipo de dados abstracto; implementação baseada em array; implementação baseada em cadeia; exemplo de aplicação. |
19 |
15-05-2000 |
Hashing: dicionários, tabelas de dispersão ("hash"), implementação em C++ da classe HashTable; aplicação à compressão de ficheiros segundo o algoritmo LZW. |
20 |
17-05-2000 |
Árvores: definições; árvores binárias; representação de árvores baseada em fórmula; representação ligada; percorrer a árvore em profundidade (pré-order, em-ordem e pós-ordem) e em largura. Tipo de dados abstracto BinaryTree. |
21 |
22-05-2000 |
Classe C++ BinaryTree para implementar uma árvore binária; percorrer a árvore em profundidade e em largura. Aplicação de árvores binárias: rede de distribuição |
22 |
24-05-2000 |
Filas de prioridade: tipo de dados abstracto MaxPriorityQueue; utilização de Heaps; representação em array de Heaps e algoritmos associados; implementação em C++ da classe MaxHeap; Aplicação à ordenação de arrays (HeapSort). |
23 |
29-05-2000 |
Grafos: definições e propriedades; Tipo de dados abstracto Grafo e Digrafo; representação de grafos em matriz das adjacências, lista empacotada de adjacências e cadeia de adjacências; representação de redes e matriz de custos; implementação das classes C++ para grafos, digrados com e sem pesos usando a matriz das adjacências e usando a lista encadeada de adjacências. |
24 |
31-05-2000 |
Grafos: iteradores para listas de adjacências; algoritmo de procura em largura (BFS) e em profundidade (DFS). |
25 |
05-06-2000 |
Grafos: implementação de BFS e DFS em C++; exemplos de aplicação (caminhos, etiquetar componentes). |
26 |
07-06-2000 |
Resolução de dois Exames tipo. |