Estruturas de Dados 2020/2021 (CC1007) - DCC/FCUP

Informações para o 1º Teste Prático


Informações Gerais


Objectivos específicos para cada exercício e problemas de treino

  1. [34%] Exercício 1: problemas simples com ciclos
    Terão de implementar um programa pequeno que lê da entrada padrão um ou mais números e imprime algo. O exercício será de dificuldade simples e passará na sua essência por saber ler, criar variáveis (e possivelmente arrays) e saber usar ciclos.  
  2. [33%] Exercício 2: implementação de métodos para listas ligadas simples.
    Terão de adicionar um ou mais pequenos métodos à classe SinglyLinkedList. Será dada como base a implementação dada nas aulas (ver slides | ver implementação) e serão descritos o métodos a implementar, incluindo a assinatura do método (qual o tipo de retorno e o tipo dos argumentos). Irão submeter a classe como nas aulas (com os novos métodos adicionados).  
  3. [33%] Exercício 3: programa completo (incluindo ler e escrever) que usa listas, pilhas e/ou filas
    Problema com base do algoritmo a usar descrito no enunciado. O tema do problema implicará que é conveniente usar listas, pilhas ou filas, mas poderão usar qualquer implementação (ex: usar a base de código dada nas aulas, usar TADs do próprio Java, ou usar uma qualquer implementação vossa).  
  4. [20%] Exercício 4: problema de valorização
    Este problema pode dar 20% adicionais (0.5 valores), ou seja, é possível ter nota acima dos 2.5 valores (por exemplo para compensar algo que corra menos bem noutro componente da avaliação). Não serão dadas dicas e terão de pensar no algoritmo adequado. O problema não será completamente resolúvel com uma solução exaustiva de "força bruta" e será necessário ser eficiente. A complexidade esperada será dada no enunciado e não será dado nenhum código base. Este exercício será um pouco mais complicado que os outros e aconselhamos a apenas tentarem depois de terem feito os três primeiros exercícios.