Exercícios

  1. Descomprima o ficheiro fornecido abaixo. Analise os ficheiros ST.h, STlist.c e STtab.c, que implementam uma tabela de símbolos baseada em listas e em tabelas de dispersão, respectivamente. Considere ainda os ficheiros HASH.h e HASH.c que implementam funções de dispersão para vários tipos de dados.
  2. O ficheiro words.c implementa um programa que lê um ficheiro de texto, passado como argumento na linha de comandos, e que subsequentemente deverá imprimir no final um relatório com o número de ocorrências de cada palavra. Complete o ficheiro words.c, preenchendo APENAS a zona indicada em comentário e implemente ainda o ficheiro Item.h que este inclui. Compile dando o comando make. A compilação deverá gerar dois executáveis: wordlist e wordtab, que utilizam tabelas de símbolos baseadas em listas e em tabelas de dispersão, respectivamente.
  3. Compare o desempenho das duas versões geradas na alínea anterior para o ficheiro example.txt fornecido, utilizando o comando time na linha de comandos, colocado antes do nome do programa.
  4. Compare o desempenho entre versões com a tabela de símbolos baseada em tabelas de dispersão de diferentes dimensões.

Attachments