Diseño de Algoritmos

Objetivos de la asignatura

  • Conocer las características de las principales técnicas de diseño de algoritmos
  • Ser capaz de aplicar las principales técnicas de diseño de algoritmos en la resolución de problemas
  • Conocer con qué técnica de diseño de algoritmos se puede obtener un algoritmo más eficiente que el algoritmo clásico o de fuerza bruta
  • Utilizar de forma eficiente los tipos y estructuras de datos más adecuados a la resolución de un algoritmo complejo.
  • Conocer la clasificación de Chomsky de gramáticas y lenguajes, así como sus máquinas asociadas
  • Conocer y aplicar el uso de Autómatas finitos y expresiones regulares en la resolución de problemas

Competencias

  • CC6 – Conocimiento y aplicación de los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones a problemas, analizando la idoneidad y complejidad de los algoritmos propuestos
  • CC7 – Conocimiento, diseño y utilización de forma eficiente los tipos y estructuras de datos más adecuados a la resolución de un problema

 

Contenidos

  • Tema 1: Autómatas Finitos, Gramáticas y Lenguajes Regulares.
  • Tema 2: Algoritmos Divide y Vencerás.
  • Tema 3: Algoritmos Voraces.
  • Tema 4: Algoritmos basados en Programación Dinámica.
  • Tema 5: Algoritmos para la Exploración de Grafos.
  • Tema 6: Algoritmos Probabilísticos.

Horarios

Exámenes oficiales

Todo el material de la asignatura se encuentra en la plataforma de docencia virtual ILIAS