Este es el tercer curso de programación en la carrera de Ingeniería
de Sistemas. Se enfatiza en estructuras de datos, que permitan
organizar en memoria principal conjuntos de datos, de tal manera de
manejarlos efectiva y eficientemente según el problema que se
trate. Del mismo modo, en este curso se enseñan las técnicas básicas
de diseño y análisis de algoritmos.
Para el curso se emplea la biblioteca Aleph. La versión fuente más reciente puede descargarse
de aquí.
Últimas noticias
Evaluación
Las evaluaciones, con sus porcentajes sobre la nota definitiva entre
paréntesis, son las siguientes:
- Tres exámenes parciales (70%): se elimina la peor
calificación
- Evaluación general de laboratorio (15%)
- Nota apreciativa (15%)
Programa
- Abstracción y programación: tipos dabstractos de datos, clases,
herencia, polimorfismo, programación genérica
- Secuencias: arreglos, listas enlazadas, pilas, colas y recursión
- Análisis de algoritmos
- Notación O:
- Métodos de ordenamiento: selección, inserción, rápido
(quicksort), mezcla (mergesort)
- Algoritmos dividir conquistar
- Árboles
- Definiciones
generales: árbol, representaciones en memoria, árbol binario,
recorridos, correspondencia entre árboles y árboles binarios.
- Algoritmos básicos
- Conceptos matemáticos
- Árboles binarios de búsqueda
- Árboles binarios con rango
- Heaps
- Treaps
- Árboles binarios de búsqueda aleatorizados
- Tablas Hash
- Conceptos generales
- Estrategias de manejo de colisiones
- Diseño de funciones hash
- Tablas hash lineales
Bibliografía
- Tejiendo Algoritmos -
Leandro Rabindranath Leon
- Estructura de datos y algoritmos - Alfred V. Aho, John
E. Hopcroft, Jefrey D. Ullman - Addison-Wesley.
Iberoamericana: Sistemas Técnicos de Edición, 1988. ISBN
968-6048-19-7
- Programming Pearls - Jon Bentley. Addison-Wesley
Professional. ISBN-10: 0201657880
Todas las estructuras de datos y algoritmos enseñados en este curso
están disponibles en la biblioteca
Aleph.
Otros
- Horarios: lunes y miércoles de 10 a 11:59 AM
- Laboratorio: viernes de 2 - 4 PM