Estruturas de Dados 2022/2023 (CC1007) - DCC/FCUP

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


Este teste é uma remarcação do 1º teste prático que teve de ser anulado e tem exatamente os mesmos objetivos.
Podem ver os problemas do teste de 16 nov no Mooshak em "Preparação para o Teste 1".
Devem responder até final de 2 Dez ao pequeno questionário sobre a vossa presença, horário preferido e editor - ir ao Mooshak e entrar em "Informação sobre Teste #1 (responder até final de 2 Dez)".


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", pelo 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 o tentarem depois de terem feito os três primeiros exercícios.