Listas Recursivas
Esta lição contém um monte de exercícios clássicos com listas
recursivas. Com certeza não é a lição mais agradável para fazer, mas das
lições do PLM que lidam com recursão, acho esta a mais fácil.
Como sempre, existem várias coisas que podem ser feitas no código deste
universo para melhorá-lo:
- Novos exercícios podem ser propostos, como
http://webloria.loria.fr/~quinson/Teaching/TOP/02-td-recursivite-enonce.pdf.
Se conhecer outros, por favor abra uma "issue" para relatar.
- Pode ser interessante verificar a complexidade assintótica do código do
estudante, mas isto não parece fácil de fazer. Em Python e Java (onde
fornecemos uma classe RecList feita à mão), podemos contar a quantidade de
cons por exercício, mas não é fácil relacionar isto ao BatTest correto. Para
Scala, parece ainda mais difícil, pois usamos os operadores :: clássicos da
linguagem. Vai ser difícil fazer uma sobreposição ("override") para
adicionar um mecanismo de contagem. Outra solução seria garantir que a pilha
de chamadas não passe de um dado limiar, mas parece muito difícil de fazer
também. Quaisquer ideias são bem-vindas.