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

Referencias Bibliográficas: [Cormen et al., 2009,Knuth, 1997a]

Temas

  1. Tablas/mapas hash:
    1. Resolución de colisiones y complejidad (por ejemplo, sondeo, encadenamiento, rehash)
  2. Diseño de función hash y propiedades.
  3. Implementación de encadenamiento separado con listas enlazadas.
  4. Direccionamiento abierto: sondeo lineal, sondeo cuadrático, doble hashing.
  5. Hashing perfecto y hashing perfecto mínimo.
  6. Hashing cuco y hashing de rayuela.
  7. Estrategias de redimensionamiento de tabla hash y gestión de factor de carga.

Aprendizaje esperado (Learning Outcomes)

  1. Explicar cómo se maneja la evitación de colisiones y la resolución de colisiones en tablas hash [Familiarizarse]
  2. Diseñar tabla hash genérica con resolución de colisiones configurable [Usar].
  3. Implementar funciones hash personalizadas para tipos definidos por el usuario [Usar].
  4. Evaluar rendimiento de diferentes esquemas de hashing [Evaluar].
  5. Aplicar tablas hash en la implementación de tabla de símbolos del compilador [Usar].



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