4.20.2.3 Algoritmos y Estructuras de Datos fundamentales (10 horas) [Habilidades C6]

Referencias Bibliográficas: [Kleinberg and Tardos, 2005,Dasgupta et al., 2006,Rivest and Stein, 2009,Sedgewick and Wayne, 2011,Goodrich and Tamassia, 2009] Temas
  1. Algoritmos numéricos simples, tales como el cálculo de la media de una lista de números, encontrar el mínimo y máximo.
  2. Algoritmos de búsqueda secuencial y binaria.
  3. Algoritmos de ordenamiento de peor caso cuadrático (selección, inserción)
  4. Algoritmos de ordenamiento con peor caso o caso promedio en O(N lg N) (Quicksort, Heapsort, Mergesort)
  5. Grafos y algoritmos en grafos:
    1. Representación de grafos (ej., lista de adyacencia, matriz de adyacencia)
    2. Recorrido en profundidad y amplitud

  6. Montículos (Heaps)
  7. Grafos y algoritmos en grafos:
    1. Problema de corte máximo y mínimo
    2. Busqueda local

Objetivos de Aprendizaje
  1. Implementar algoritmos numéricos básicos [Assessment]
  2. Implementar algoritmos de busqueda simple y explicar las diferencias en sus tiempos de complejidad [Assessment]
  3. Ser capaz de implementar algoritmos de ordenamiento comunes cuádraticos y O(N log N) [Assessment]
  4. Discutir el tiempo de ejecución y eficiencia de memoria de los principales algoritmos de ordenamiento, busqueda y hashing [Usage]
  5. Discutir factores otros que no sean eficiencia computacional que influyan en la elección de algoritmos, tales como tiempo de programación, mantenibilidad, y el uso de patrones específicos de la aplicación en los datos de entrada [Familiarity]
  6. Resolver problemas usando algoritmos básicos de grafos, incluyendo busqueda por profundidad y busqueda por amplitud [Assessment]
  7. Demostrar habilidad para evaluar algoritmos, para seleccionar de un rango de posibles opciones, para proveer una justificación por esa selección,y para implementar el algoritmo en un contexto en específico [Assessment]
  8. Describir la propiedad del heap y el uso de heaps como una implementación de colas de prioridad [Assessment]
  9. Resolver problemas usando algoritmos de grafos, incluyendo camino más corto de una sola fuente y camino más corto de todos los pares, y como mínimo un algoritmo de arbol de expansion minima [Assessment]

Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM