2.2.4 AL/Estrategias Algorítmicas
Temas:
Core
- Paradigmas:
- Fuerza Bruta (por ejemplo, búsqueda lineal, ordenamiento por selección, viajante de comercio, mochila)
- Disminuir y Vencer:
- Por una Constante (por ejemplo, ordenamiento por inserción, ordenamiento topológico)
- Por un Factor Constante (por ejemplo, búsqueda binaria)
- Por un Tamaño Variable (por ejemplo, Euclides)
- Dividir y Vencer (por ejemplo, búsqueda binaria, quicksort, mergesort, Strassen)
- Voraz (por ejemplo, Dijkstra, Kruskal, Mochila)
- Transformar y Vencer:
- Simplificación de instancia (por ejemplo, encontrar duplicados mediante preordenamiento de lista)
- Cambio de representación (por ejemplo, heapsort)
- Reducción de problema (por ejemplo, mínimo común múltiplo, programación lineal)
- Programación dinámica (por ejemplo, Floyd, Marshall, Bellman-Ford)
- Compromisos espacio vs tiempo (por ejemplo, hash)
- Manejo del crecimiento exponencial (por ejemplo, heurística A*, ramificación y poda, retroceso)
- Iteración vs recursión (por ejemplo, factorial, búsqueda en árbol)
- Paradigmas:
- Algoritmos de aproximación
- Mejora iterativa (por ejemplo, Ford-Fulkerson, simplex)
- Algoritmos aleatorizados/estocásticos (por ejemplo, corte máximo, bolas y cubos)
Non Core
Aprendizaje esperado (Learning Outcomes):
Core:
- Para cada uno de los paradigmas en esta unidad:
- Explicar sus características definitorias
- Explicar un ejemplo que demuestre el paradigma incluyendo cómo este ejemplo satisface las características del paradigma.
[Explicar]
- Para cada uno de los algoritmos en la unidad Fundamentos Algorítmicos (AL) -FoundationalDataStructuresAlgorithms, explicar el paradigma utilizado por el algoritmo y cómo ejemplifica este paradigma [Explicar]
- Dado un algoritmo, explicar el paradigma utilizado por el algoritmo y cómo ejemplifica este paradigma [Explicar]
- Dar un problema del mundo real, evaluar paradigmas algorítmicos apropiados y algoritmos de estos paradigmas que aborden el problema incluyendo evaluar los compromisos entre los paradigmas y algoritmos seleccionados [Evaluar]
- Dar ejemplos de algoritmos iterativos y recursivos que resuelvan el mismo problema, explicar los beneficios y desventajas de cada enfoque [Explicar]
- Evaluar si un enfoque voraz conduce a una solución óptima [Evaluar]
- Explicar varios enfoques para abordar problemas computacionales cuyas soluciones algorítmicas son exponenciales [Explicar]
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM