Número | Datas | Assunto | Acetatos |
---|---|---|---|
14 |
19 ou 20 de Abril |
Listas Lineares: o tipo de dados abstracto; representação em array; representação ligada em cadeia; listas circulares e listas duplamente ligadas | |
15 |
24 de Abril |
Representação por endereçamento indirecto. | - |
16 |
26 ou 27 de Abril |
Representação por simulação de apontadores; aplicações de listas lineares. | - |
17 |
3 ou 4 de Maio |
Pilhas: tipo de dados abstracto; implementação baseada em array; implementação baseada em cadeia; exemplo de aplicação. | |
18 |
15 de Maio |
Filas: tipo de dados abstracto; implementação baseada em array; implementação baseada em cadeia; exemplo de aplicação. | |
19 |
17 ou 18 de Maio |
Á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. | |
20 |
22 de Maio |
Classe C++ BinaryTree para implementar uma árvore binária; percorrer a árvore em profundidade e em largura. Aplicação de árvores binárias; redes de distribuição. |
- |
21 |
24 ou 25 de Maio |
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). | |
22 |
29 de Maio |
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. | |
23 |
31 de Maio ou 1 de Junho |
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 |
4 de Junho |
Iteradores para listas de adjacências; algoritmo de procura em largura (BFS) e em profundidade (DFS). | - |
25 |
7 ou 8 de Junho |
Implementação de BFS e DFS em C++; exemplos de aplicação (caminhos, etiquetar componentes). | - |