La fascinante búsqueda de algoritmos tiene diferentes y variados modos
de juego; podemos conocer la dificultad del problema o no, saber si hay
solución, tener una definición estricta o que admite ajustes, en un lenguaje
concreto, etc… pero dos de los que a mí más me gustan son:
Problemas con una definición muy muy sencilla pero que son muy muy difíciles.
Problemas para los que hay una solución eficiente y encontrar una
variante más eficiente todavía.
A continuación una lista de donde encontrar los algoritmos:
En Openlibra (comentado frecuentemente en GenBeta Dev) hay multitud de libros similares a
los que puedes acceder gratuitamente.
Pero si no queremos
seguir un método ni horario, también podemos recurrir a Internet por supuesto,
aquí una pequeña lista de sitios que se me ocurren (seguro que hay muchísimos
más):
-> List of algorithm general topics en Wikipedia es un buen punto de partida, podemos navegar por
las materias que más nos interesen (IA, gráficas, cálculo numérico, etc…).
-> Soolvet, que Juan
ya nos presentó En su día y que contiene problemas y soluciones en múltiples
lenguajes.
-> Rosetta Code, que
contiene multitud de algoritmos resueltos en multitud de lenguajes.
-> Programmin praxis,
sitio que lleva tiempo presentando periódicamente problemas y que la gente
resuelve de manera informal (sin rankings ni nada parecido).
-> Project Euler, que
se centra en problemas de tipo numérico aunque no de forma estricta (eg.
también de combinatoria).
-> 4 clojure,
específico para Clojure, guardando las versiones con tus progresos y validación
automática sobre los test definidos en cada problema.
-> Code Chef, que
promueve la cooperación y competitividad.
-> Top Coder, sitio
muy famoso y con muy elaboradas herramientas que a mí personalmente no me gusta
porque tiene demasiado control sobre los programadores (y se trata de pasar un
buen rato, no de sentirte observado).
0 comentarios:
Publicar un comentario