Estoy planeando ejecutar un "experimento" cuando enseñe mi clase de algoritmos este otoño, con una computadora muy antigua y limitada (el factor limitante principal es probablemente la memoria, posiblemente tan bajo como 16 KB) y uno moderno / estándar. La idea es resolver un problema con un polinomio, que se ejecuta en la computadora lenta, y uno exponencial en la computadora rápida (y, por supuesto, que gane la lenta).
El problema es encontrar un problema adecuado, uno donde los tiempos de ejecución sean realmente diferentes para instancias de tamaño muy limitado (y, preferiblemente, donde las estructuras de datos son bastante simples; la computadora primitiva es ... primitiva). Originalmente pensé en los algoritmos de clasificación (p. Ej., Cuadrático vs. lineal), pero eso requeriría instancias demasiado grandes (a menos que fuera con bogosort, por ejemplo).
Por el momento, el único ejemplo (bastante aburrido) en el que he pensado es calcular los números de Fibonacci de manera inteligente y estúpida. Sería bueno tener algo un poco menos cansado / usado en exceso, y preferiblemente algo (semi) obviamente útil. ¿Alguna idea / sugerencia?