Estou planejando executar um "experimento" ao ensinar minha classe de algoritmos neste outono, com um computador muito antigo e limitado (o principal fator limitante provavelmente é a memória - possivelmente tão baixa quanto 16 KB) e um moderno / padrão. A idéia é resolver um problema com um polinômio, rodando no computador lento, e um exponencial no rápido (e, é claro, fazer com que o lento vença).
O problema é encontrar um problema adequado - um em que os tempos de execução sejam realmente diferentes para instâncias de tamanho muito limitado (e, de preferência, onde as estruturas de dados sejam bastante simples; o computador primitivo é ... primitivo). Inicialmente, pensei em ordenar algoritmos (por exemplo, quadrático versus linear), mas isso exigiria instâncias muito grandes (a menos que eu fosse com o bogosort, por exemplo).
No momento, o único exemplo (bastante chato) que pensei é computar os números de Fibonacci da maneira inteligente e estúpida. Seria bom ter algo um pouco menos cansado / usado em excesso e, de preferência, algo (semi-) obviamente útil. Alguma idéia / sugestão?