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.

  • Instructor: Leandro Rabindranat Leon - lrleon punto ula punto ve
  • Preparador: Erik Velasquez - velasquezerik at ula punto ve
  • Delegado: a definir

Para el curso se emplea la biblioteca Aleph. La versión fuente más reciente puede descargarse de aquí.


Últimas noticias

  • 14/3/2012: Notas definitivas. Escríbame por email si desea revisión del 3er parcial. Por favor, no me llame por teléfono.
  • 12/3/2012: Notas del 2do parcial y laboratorio. Por favor: hasta que no se publiquen notas del 3er parcial, absténgase de contactarme para revisión. La revisión será fijada después de publicar las notas del 3er parcial.
  • 12/2/2012: Notas primer parcial

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

    1. Abstracción y programación: tipos dabstractos de datos, clases, herencia, polimorfismo, programación genérica
    2. Secuencias: arreglos, listas enlazadas, pilas, colas y recursión
    3. Análisis de algoritmos
      1. Notación O:
      2. Métodos de ordenamiento: selección, inserción, rápido (quicksort), mezcla (mergesort)
      3. Algoritmos dividir conquistar
    4. Árboles
      1. Definiciones generales: árbol, representaciones en memoria, árbol binario, recorridos, correspondencia entre árboles y árboles binarios.
      2. Algoritmos básicos
      3. Conceptos matemáticos
      4. Árboles binarios de búsqueda
      5. Árboles binarios con rango
      6. Heaps
      7. Treaps
      8. Árboles binarios de búsqueda aleatorizados
    5. Tablas Hash
      1. Conceptos generales
      2. Estrategias de manejo de colisiones
      3. Diseño de funciones hash
      4. 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 4 a 6 PM
  • Laboratorio: jueves de 2 - 4 PM
 
 

PR-3 B 2011