5.19.4.2 Estructuras de Datos Fundamentales (8 horas) [Habilidades AG-C08,AG-C09]

Referencias Bibliográficas: [Cormen et al., 2009,Stroustrup, 2013]

Temas

  1. Tipo de Dato Abstracto (ADT) y operaciones sobre un ADT:
    1. Operaciones de diccionario (insertar, eliminar, encontrar)
  2. Arreglos:
    1. Numéricos vs no numéricos, cadenas de caracteres
    2. Unidimensionales (vector) vs multidimensionales (matriz)
  3. Registros/Estructuras/Tuplas y Objetos
  4. Listas enlazadas (por razones históricas):
    1. Simples vs Dobles y Lineales vs Circulares
  5. Pilas
  6. Colas y deques:
    1. Cola de prioridad basada en montículo
  7. Tablas/mapas hash:
    1. Resolución de colisiones y complejidad (por ejemplo, sondeo, encadenamiento, rehash)
  8. árboles:
    1. Binarios, n-arios y árboles de búsqueda
    2. Balanceados (por ejemplo, AVL, Rojo-Negro, Montículo)
  9. Conjuntos

Aprendizaje esperado (Learning Outcomes)

  1. Para cada ADT/Estructura de Datos en esta unidad:
    1. Explicar su definición, propiedades, representación(es) y operaciones de ADT asociadas.
    2. Explicar paso a paso cómo las operaciones de ADT asociadas con la estructura de datos la transforman.
    [Usar]
  2. Para cada algoritmo en esta unidad explicar paso a paso cómo opera el algoritmo [Usar]
  3. Implementar vector con política de asignación personalizable usando plantillas [Usar].
  4. Diseñar nodos de lista enlazada genéricos con gestión de memoria basada en rasgos [Usar].
  5. Comparar complejidad tiempo/espacio de diferentes estructuras lineales [Evaluar].
  6. Aplicar plantillas variádicas para inicializar contenedores con múltiples elementos [Usar].

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