Abrir el simulador
Cuenta operaciones en el mejor, el peor y el caso medio para cada talla, con gráfica y tabla.
Lo que vas a aprender
- Qué son la talla de la entrada y la operación crítica.
- Distinguir mejor caso, peor caso y caso medio.
- Expresar el coste con la notación O.
- Comprobar experimentalmente el orden de un algoritmo.
Cómo se usa el simulador
- Elige el algoritmo: búsqueda lineal, matriz por vector, inserción o búsqueda binaria.
- Elige la talla máxima (100 – 1000).
- La gráfica dibuja las operaciones según la talla en el mejor, medio y peor caso.
- La tabla da los resultados para cada talla y una columna que divide el peor caso entre la función teórica: si se estabiliza en una constante, se confirma el orden.
- Se muestra el código en C con la operación que se cuenta, qué entrada da cada caso y cómo se mide el tiempo con
clock().
Fundamentos teóricos
Talla y operación crítica
- Talla (): el tamaño de la entrada (elementos de un vector, filas de una matriz…).
- Operación crítica: la que más veces se ejecuta. Contarla es proporcional al tiempo y no depende del ordenador.
Los tres casos
- Mejor caso: la entrada de talla que menos trabajo da.
- Peor caso: la que más trabajo da. Es una garantía: nunca tardará más.
- Caso medio: lo que cuesta de media con entradas al azar.
Notación O
significa que, para grande, crece como mucho como (salvo constantes). Órdenes típicos, de menor a mayor:Algoritmos del simulador
Análisis experimental
- Elegir varias tallas.
- Para cada una, generar entradas del caso que se estudia y contar operaciones (o medir tiempo).
- Dibujar la gráfica talla–operaciones.
- Dividir entre la función teórica: si el cociente tiende a una constante, se confirma.
clock(), se repite la ejecución muchas veces y se divide, porque con tallas pequeñas una sola ejecución dura menos que la resolución del reloj.
Ejemplos resueltos
Ejemplo 1 · Búsqueda lineal
Ejemplo 1 · Búsqueda lineal
En un vector de 1000 elementos: mejor caso 1 comparación (está en
V[0]); peor caso unas 1000 (no está); caso medio unas 500.Ejemplo 2 · Inserción
Ejemplo 2 · Inserción
Con 100 elementos ya ordenados: 99 comparaciones. Al revés: .
Ejemplo 3 · Búsqueda binaria
Ejemplo 3 · Búsqueda binaria
Con 1000 elementos, el peor caso es de unas 10 comparaciones; con un millón, unas 20.
Experimenta con el simulador
1
Lineal
Mira la columna “peor / n” de la búsqueda lineal. ¿Se estabiliza?
2
Inserción
Compara las tres curvas de la inserción. ¿Por qué el mejor caso es una recta?
3
Logarítmico
Con la búsqueda binaria, duplica la talla máxima. ¿Cuánto crece el peor caso?
Errores frecuentes
- Decir que el mejor caso es . Los casos se comparan a igual talla.
- Confundir caso medio con la media entre mejor y peor.
- Quedarse con las constantes al dar el orden: es .
Herramientas relacionadas
Algoritmos de ordenación
Mejor y peor caso de cada algoritmo.
Divide y vencerás
Ecuaciones de recurrencia.
Regresión lineal
Ajustar datos experimentales.