Este repositorio contiene los ejercicios de Python para la asignatura Algoritmos para Juegos impartida en la Universidad Rey Juan Carlos durante el curso académico 2023-2024, en el grado de Diseño y Desarrollo de Videojuegos.
La carpeta está organizada en varios temas, cada uno de los cuales corresponde a un área específica de algoritmos aplicados al desarrollo de videojuegos. A continuación se describe el contenido de cada tema:
Introducción al entorno de desarrollo en Python. En este tema se abordan ejercicios básicos de configuración y pruebas iniciales de código en Python.
Este tema cubre los fundamentos de los grafos, una estructura de datos esencial para la representación de redes y mapas en videojuegos. Los ejercicios incluyen implementación y manipulación de grafos, análisis de conexiones y rutas, y aplicación de algoritmos de búsqueda en grafos.
En este tema se exploran los algoritmos voraces (greedy algorithms), una técnica de optimización que se utiliza para resolver problemas en los que se requiere una solución eficiente y aproximada. Los ejercicios incluyen problemas clásicos como la selección de actividades y algoritmos de mínimo coste.
Extensión del tema anterior, aplicada específicamente a problemas en grafos. Aquí se estudian algoritmos como el de Dijkstra para encontrar el camino más corto y el de Prim o Kruskal para construir árboles de expansión mínima.
Introducción a la técnica de "Divide y Vencerás" para resolver problemas complejos dividiéndolos en subproblemas más manejables. Los ejercicios incluyen problemas clásicos como la búsqueda binaria y el algoritmo de ordenación rápida (quicksort).
En este tema se exploran algoritmos de backtracking, una técnica para resolver problemas de búsqueda de soluciones completas mediante la exploración de todas las posibilidades. Los ejercicios incluyen problemas como el de las N reinas y la generación de laberintos.