Licenciatura em Engenharia Electrotécnica e de Computadores
Algoritmos e Estruturas de Dados
Ano lectivo de 2000/2001

Revisão do plano das aulas Teóricas

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

listas.pdf

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.

pilhas.pdf

18

15 de Maio

Filas: tipo de dados abstracto; implementação baseada em array; implementação baseada em cadeia; exemplo de aplicação.

filas.pdf

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.

trees.pdf

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).

heaps.pdf

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.

hash.pdf

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.

grafos.pdf

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).

-