Licenciatura en Ciencias Áreas terminales en Matemáticas, Física, Bioquímica y Biología Molecular, y Ciencias Computacionales y Computación Científica
Prerrequisitos:
Ninguno.
Antecedentes Recomendadas:
Ninguna
Consecuentes Recomendadas:
Algorítmica
Inteligencia Artificial
Compiladores
Sistemas Paralelos
Sistemas Distribuidos
Teoría de la Computación
Presentación de la unidad de aprendizaje:
Se presentan los conceptos de estructuras de datos avanzadas. Se analiza la teoría de estructuras ya definidas. Esta UA es una parte importante en los procesos de abstracción que los estudiantes requieren para comprender la teoría de la computación y la programación. Asimismo, proporciona las herramientas útiles para la programación en cualquier lenguaje.
Propósito de la unidad de aprendizaje:
Aportar los conceptos básicos utilizados en representación de datos y su organización en estructuras más complejas. Así como técnicas y algoritmos adecuados para operar sobre las representaciones anteriores con base en el lenguaje C.
Competencias profesionales:
Extrae información cualitativa de datos cuantitativos.
Contribución al perfil de egreso:
La unidad de aprendizaje aporta al perfil del egresado la habilidad para enlazar conocimientos y técnicas de diferentes áreas de las ciencias exactas y naturales.
Secuencia temática:
I Introducción.
1.1 Estructuras de datos. Definición de tipos de datos abstractos.
1.2 Formalismos de especificación de estructuras de datos.
1.3 Definición de estructuras en C.
II Pilas, colas.
2.1 Representación contigua, operaciones básicas.
2.2 Representación por encadenamiento.
2.3 Manejo circular.
2.4 Representación en lenguaje C.
III Listas enlazadas.
3.1 Listas generalizadas y su representación en C.
3.2 Algoritmos con listas.
3.3 Aplicaciones: manejo dinámico de memoria, compiladores.
IV Tablas Hash.
4.1 Acceso directo.
4.2 Direccionamiento abierto.
V Árboles.
5.1 Conceptos básicos.
5.2 Representación contigua y por encadenamiento.
5.3 Árboles binarios.
5.4 Operaciones de inserción, eliminación y recorrido.
VI Estructuras avanzadas.
6.1 Árboles balanceados AVL.
6.2 BTrees.
6.3 Montículos (Heaps).
6.4 Grafos: definición y algoritmos básicos.
Criterios de Evaluación:
Exámenes parciales: 30%
Examen final: 30%
Realización de práctica: 20%
Otra (especifique): Reportes: 20%
Bibliografía básica:
Tenenbaum, A. M., Langsam, Y. y Augenstein, M. Data structures in C. Ed. Prentice Hall.
Aho, Hopcrof y Ullman. 1988. Estructura de datos y algoritmos. Ed. Addison Wesley Iberoamericana.
Bibliografía complementaria:
Weiss, Mark Allen. 1995. Estructuras de datos y algoritmos. Ed. Addison-Wesley.
Cruse, Robert L., Tondo, Clovis L. y Leung Bruce P. Data structure and program design in C. Ed. Prentice Hall.