| 
 
 |  |  |  |  |  | Conectados: Actualmente hay 6 invitados, 1 miembro(s) conectado(s).
 
 Es un usuario anónimo. Puede registrarse aquí
 |  |  |  |  |  | 
 
 |  | 
    |  |  |  |  
    |  | Patiperros del DCCCC40A: Diseño y Análisis de Algoritmos CC40A: Diseño y Análisis de Algoritmos
Prof: Gonzalo NavarroProf. Aux: Julio Aracena
Más información del cursoMotivaciónAnalizar la eficiencia de diversos algoritmos para resolver una variedad 
de problemas, principalmente no numéricos.  Enseñar al alumno a 
diseñar y analizar nuevos algoritmos.Reglas del Juego
 3 controles. 2/3 de la nota y debe ser >= 4. Recuperativo para notas 
>= 3.7.
 3 o 4 tareas. 1/3 de la nota y debe ser >= 4. Recuperativa para notas
>= 3.5.
Castigo por atraso: 1 punto por día hábil o fin de semana.
 1 examen final, con derecho a recuperativo. Se exime del examen con 5.5 en
controles.
Los items indicados entre corchetes son temas no centrales que se darán 
si el tiempo lo permite, y sobre los que se evaluará sólo 
nociones generales.
 ProgramaIntroducción (3 horas)Algoritmos y su complejidad. ?`Como se mide la eficiencia de un algoritmo?
Tiempo y Espacio. Peor caso, caso promedio. Modelo de un computador y sus
medidas de complejidad.Fundamentos Matemáticos (6 horas)Notación. Medidas de Orden.
Solución de Recurrencias. Funciones Generatrices.
Cálculos asintóticos. Manipulación de big-O.Paradigmas (6 horas)Técnicas para el diseño de algoritmos: 
Búsqueda exhaustiva, heurísticas, algoritmos probabilísticos,
avaricia (greedy), dividir para reinar, programación dinámica, inducción.
En cada caso, revisión de problemas característicos y de un mismo
problema resuelto con cada técnica.Ordenamiento y Selección (6 horas)Algoritmos de ordenamiento: Quicksort, Mergesort, Heapsort,
[Bucket sort, Radix sort]. Algoritmos de selección: Max-Min, k-ésimo. 
Colas de Prioridad: heaps clásicas, [heaps binomiales].Manipulación de Conjuntos (12 horas)Operaciones usuales: buscar, insertar, eliminar, modificar, unir, recorrer,
etc.
Implementaciones. Vectores de bits. Arreglos: desordenados y ordenados.
Arboles: binarios, AVL, 2-3, [óptimos, balanceo heurístico,]
en memoria secundaria (árboles B).
[Skip lists.] Arboles digitales: tries, Patricia.
Hashing: encadenado, abierto, [perfecto,] en memoria secundaria (hashing lineal).
Union-find.Algoritmos en Grafos (4.5 horas)Definiciones. Propiedades básicas. Arboles cobertores de costo mínimo.  
Búsqueda en grafos. Caminos mínimos. Clausura transitiva. 
[Biconectividad.  Flujo máximo.]Búsqueda en texto (3 horas)Búsqueda de strings: autómata finito, algoritmos de Knuth-Morris-Pratt,
Boyer-Moore, [Rabin-Karp, Shift-Or]. [Búsqueda multipatrón.] Arboles de
sufijos. [Búsqueda aproximada.]Problemas NP-completos (4.5 horas)Máquinas de Turing no determinísticas.  Las clases P y NP.   
El problema de la satisfactibilidad (SAT). Otros problemas NP-Completos.
[Nociones de Co-NP, P-space.]Bibliografía"*" indica los textos más recomendados, "+" los recomendados como 
referencia pero no para aprender, "-" otros.
 
 [*]
A.V. Aho, J.E. Hopcroft y J.D. Ullman, "The Design and Analysis of 
Computer Algorithms",  Addison-Wesley, 1974.
 [*]
A.V. Aho, J.E. Hopcroft y J.D. Ullman, "Data Structures and Algorithms",
Addison-Wesley, 1982.
 [-]
S. Baase, "Computer Algorithms: Introduction to Design and Analysis",
Addison-Wesley 1988.
 [-]
Brassard, G. and Bratley, P., "Algorithmics: Theory and Practice", 
Prentice Hall, 1988.
1988.
 [*]
Cormen, Leiserson, Rivest, "Introduction to Algorithms", MIT Press, 1991.
 [+]
Gonnet, G. y Baeza-Yates, R., "Handbook of Algorithms and Data Structures", 
Addison-Wesley, 2ed, 1991.
 [-]
Harel, D. Algorithmics, the spirit of computing, Addison Wesley 1987.
 [+]
D.E. Knuth, "The Art of Computer Programing",  vol. 1, "Fundamental Algorithms", Addison-Wesley, segunda edición, 1973.
 [+]
D.E. Knuth,  "The Art of Computer Programming", Vol. 3, "Sorting and Searching", Addison-Wesley, 1973.
 [-]
Manber, U., "Introduction to Algorithms: A Creative approach", Addison Wesley, 1989.
 [*]
Rawlins, G., "Compared to What? AN Introduction to Analysis of Algorithms",
Computer Science Press, 1991.
 [-]
Reingold, Nievergelt, and Deo., Combinatorial algorithms, Prentice-Hall,
1977.
 [*]
R. Sedgewick, "Algorithms", Addison Wesley, 1987.
   |  |  
    |  |  |  | 
 
 |