Planificaciones 9515 - Algoritmos y Programación II Docente responsable: WACHENCHAUZER ROSA GRACIELA

Anuncio
9515 - Algoritmos y Programación II
PLANIFICACIONES
Planificaciones
9515 - Algoritmos y Programación II
Docente responsable: WACHENCHAUZER ROSA GRACIELA
1 de 5
Actualización: 2ºC/2016
9515 - Algoritmos y Programación II
PLANIFICACIONES
Actualización: 2ºC/2016
OBJETIVOS
Introducir los conceptos de diseño de algoritmos y de estructuras de datos, utilizando nociones de eficiencia
algorítmica para poder seleccionar la solución más adecuada para un contexto dado.
CONTENIDOS MÍNIMOS
-
PROGRAMA SINTÉTICO
Eficiencia de algoritmos. Notación O.
Diseño de algoritmos: División y Conquista (métodos de búsqueda y ordenamiento, multiplicación por
Karatsuba Ofman) y Teorema Maestro de la División y Conquista; Programación Dinámica; Algoritmos Golosos;
resolución por Backtracking.
TAD: Pilas, Colas, Conjuntos, Diccionarios, Colas de Prioridad, Grafos.
Implementación de conjuntos y diccionarios mediante listas enlazadas, mapas de bits, hashing abierto y
cerrado, árboles binarios de búsqueda, árboles binarios de búsqueda balanceados. Implementación de
colas de prioridad mediante heaps.
Más métodos de ordenamiento por comparación: el heapsort. Métodos de ordenamiento cuando hay más
información sobre las claves.
Algoritmos en grafos.
PROGRAMA ANALÍTICO
Cálculo de eficiencia, notación O.
Recursividad - División y conquista - Merge sort.
Quick sort - Teorema maestro - Karatsuba Ofman.
Tipos abstractos de datos. Notación. Pilas. Colas. Diccionarios.
Uso de TADs: Aplicaciones usando pilas, colas y diccionarios.
Listas enlazadas. Pilas y Colas implementadas sobre arrays
y sobre listas enlazadas.
Implementaciones de diccionario I: mapas de bits, hashing
cerrado, hashing abierto.
Árboles binarios y sus recorridos.
Árboles binarios de búsqueda.
Implementaciones de diccionario II: árboles binarios de
búsqueda.
Árboles AVL. Implementaciones de diccionario III: Árboles AVL.
Colas de prioridad. Heaps.
Heapsort
El ordenamiento por comparación es n log n. Métodos de ordenamiento con más información: Bin Sort, Radix
Sort.
Diseño de algoritmos: Programación dinámica, algoritmos golosos, backtracking.
TAD Grafos. Representación con listas de adyacencia y con matriz de adyacencia.
Orden topológico en grafos orientados acíclicos. Algoritmos de camino mínimo según el tipo de grafo. Algoritmo
de Prim para el cálculo del árbol de tendido mínimo de un grafo no orientado. Cálculo de puntos de
articulación y de componentes fuertemente conexas.
BIBLIOGRAFÍA
- Weiss, Mark Allen: “Estructuras de datos y algoritmos", Addison- Wesley Iberoamericana, 1995.
- Kruse, Robert Leroy; Tondon, Clovis L.; Leung, Bruce P: “Data structures and program design in C", PrenticeHall, 1997.
- Brassard, Gilles; Bratley, Paul: “Algorithmics: theory and practice", Prentice-Hall, 1988.
- Sedgewick, Robert: “Algorithms in C++", Addison-Wesley, 1992.
- Tenenbaum, Aaron M.; Langsam, Yedidyah; Augenstein, Moshe J.: “Estructuras de datos en C", Prentice-Hall
Hispanoamericana, 1993.
- Kernighan, Brian W.; Ritchie, Dennis M.: “El lenguaje de programación C", Prentice-Hall Hispanoamericana,
1991.
RÉGIMEN DE CURSADA
Metodología de enseñanza
2 de 5
9515 - Algoritmos y Programación II
PLANIFICACIONES
Actualización: 2ºC/2016
La materia sera dictada en 32 clases a lo largo de 16 semanas. Cada
clase estara dividida en una parte teórica y una práctica, de 1:30 hs cada una.
Modalidad de Evaluación Parcial
Se tomarán cuatro parciales a lo largo del curso y se deberán entregar tres trabajos prácticos grupales.
3 de 5
9515 - Algoritmos y Programación II
PLANIFICACIONES
Actualización: 2ºC/2016
CALENDARIO DE CLASES
Semana
Temas de teoría
Resolución
de problemas
Laboratorio
<1>
15/08 al 20/08
<2>
22/08 al 27/08
<3>
29/08 al 03/09
<4>
05/09 al 10/09
<5>
12/09 al 17/09
<6>
19/09 al 24/09
<7>
26/09 al 01/10
<8>
03/10 al 08/10
<9>
10/10 al 15/10
<10>
17/10 al 22/10
<11>
24/10 al 29/10
<12>
31/10 al 05/11
<13>
07/11 al 12/11
<14>
14/11 al 19/11
<15>
21/11 al 26/11
<16>
28/11 al 03/12
4 de 5
Otro tipo
Fecha entrega
Informe TP
Bibliografía
básica
9515 - Algoritmos y Programación II
PLANIFICACIONES
Actualización: 2ºC/2016
CALENDARIO DE EVALUACIONES
Evaluación Parcial
Oportunidad
Semana
Fecha
1º
2º
3º
4º
5 de 5
Hora
Aula
Descargar