Textos:
Thomas H. Cormen, Charles e. Leiserson, y
Ronald L. Rivest, "Introducction to Algorithms",
McGraw-Hill, ISBN 0-07-013143-0. 1990 (Ver copias en
Pañol ELO)
Timothy Budd, "Data Structures in C++ using the
Standard Template Library", 1998, Addison Wesley Publishing, ISBN
0-201-30879-7 (Ver en biblioteca USM)
Otros textos de referencia:
Brian W. Kernighan Y Dennis M. Ritchie, "El
Lenguage de Programación C" , Prentice Hall, ISBN
968-880-205-0 (Buena referencia de C)
Alfred V. Aho, John E. Hopcroft, Jeffey D.
Hullman, "Data Structures and Algorithms", Addison Wesley (mi copia es
del año 83, presenta la mayor parte de los algoritmos, pero no
es tan completo como el de Cormen, Leiserson and Rivest, pero puede
estar en biblioteca)
Contenido
Introducción
Revisión de
Lenguaje de programación C.
Introducción a Makefile
Material
complementario sobre directivas del procesador
Fundamentos Matemáticos requeridos para la
evaluacion de algortihmos
Crecimiento de funciones
(insertion-sort) y definiciones
,
Análisis de Algoritmos
(merge-sort)
Algorithmos de ordenamiento :
Definiciones: Conjunto, grafo,
árbol .
Heapsort ,
Quicksort ,
Ordenamiento en tiempo
lineal , Mediana y estadisticas de orden.
Estructuras de datos :
Estructuras de datos
elementales: Pilas, colas, Listas enlazadas, y
Árboles
<Desde aqui contenidos certamen final>
Tablas hash
Árboles de búsqueda
binaria,
Extensiones a Estructuras de
Datos Básicas. Ejemplo de
uso. Mejor
solución de la época dada por Carlos Zamora
Algoritmos "Oportunistas" (Greedy
Algorithms)
Algoritmos en Grafos:
Algoritmos elementales:
Breadth-first search y Depth-first search: Orden topológico y
componentes fuertemente conexas.,
Minimum Spanning Tree
(árbol de expasión de peso mínimo): Prim y Kruskal
,
Camino más corto
desde una fuente. Algoritmos de Dijkstra y Bellman- Ford (ver tarea años anteriores)
Ver cetame 2 año 2002
Redes de Flujo Aqui
pueden encontrar un applet que ilustra el resultado de este algoritmo.
NP_Completitud
Biblioteca Estandar de Pantillas de C++ ( C++ Standard
Template Library)
Bases de C++
Clases contenedoras
Vectores
Ejemplos sobre uso de STL: vector.cpp list.cpp count.cpp upperBound.cpp
Evaluación:
35 % Primer
Certamen: Miércoles 30 de Abril 1er Certamen 2002 y su
solución ( .pdf
) 1er Certamen 2001
Solución
Certamen parcial 2003: Histograma
de Frecuencia de Notas
45 % Segundo
Certamen: Viernes 20 de Junio 2do certamen 2002 y su
solución (.pdf ) 2do. Certamen 2001 3er. Certamen 2001
Solución
Certamen Final y su Histograma de
Frecuencia de Notas.
20 % Tareas
(analíticas y de programación) Procedimiento de
entrega de programas , Evaluación
de programas
Las tareas
se pueden desarrollar en grupos de dos. El grupo queda definido con la
entrega de la primera tarea.
Mejores Soluciones a Tareas de Programación:
Misceláneos
Ejemplo
de uso de gnuplot
Sobre
Intervalos de Confianza: entendiendo el concepto , definición
formal y cálculo de intervalos de confianza para el promedio.
Manual GNU para make(versión html Local)
Compilador C++
GNU