Profesor | María de Luz Gasca Soto | lu mi vi | 11 a 12 | Taller de Lenguajes de Programación |
Ayudante | Luis Daniel Hernández Sandoval | ma ju | 11 a 12 | Taller de Lenguajes de Programación |
Ayud. Lab. | Rodrígo Ruíz Murguía | lu | 14 a 16 | Laboratorio de Ciencias de la Computación 3 |
La complejidad computacional depende, principalmente de la forma cómo se representen, manipulen y estructuren los datos de un problema. Por lo cual resulta importante analizar y comparar las Estructuras de Datos para elegir la implantación eficiente de los algoritmos.
El análisis de algoritmos clásico se basa, sobre todo, en el análisis del peor caso, el cual tiende a ser muy pesimista y cuyas cotas quedan muy holgadas. El análisis del caso esperado resulta ser muy específico y poco práctico, ya que depende de la forma cómo se distribuyen los datos: si se modifica la distribución de los datos debe cambiar el análisis.
R.E. Tarjan [1] presenta una novedosa técnica llamada Análisis Amortizado con la cual genera un cambio muy importante en el área del Análisis de Algoritmos y Estructuras de Datos.
2.1 El punto de vista del banquero
2.2 El enfoque de los físicos.
3.1 Definición de árbol Binomial
3.2 Especificación de Cola Binomial
3.3 Tiempo Amortizado de las Colas Binomiales
4.1 Especificación de Skew Heaps
4.2 Modificación del Skew Heaps
4.3 Análisis Amortizado del Skew Heaps
5.1 Especificación de Fibonacci Heaps
5.2 Modificación de Fibonacci Heaps
5.3 Análisis Amortizado de Fibonacci Heaps
6.1 Especificación de Conjuntos Ajenos
6.2 Modificación Conjuntos Ajenos
a. Unión por rango
b. Reducción de Trayectorias
6.3 Análisis Amortizado de Conjuntos Ajenos
7. Aplicaciones