Vous êtes sur la page 1sur 34

EFICIENCIA ALGORÍTMICA

Julio Cesar Cardona Maturana.


Introduccion al tema…

 1 Problema  múltiples caminos 


múltiples soluciones a ese
problema.

 La necesidad de comparar y
clasificar
- Estándar -Puntuación -medición
Eficiemcia espacial Eficiencia temporal
Así pues nuestra intención y
enfoque es medir el tiempo
no el espacio.

La forma más común del


algoritmo es una
transformación que toma
un conjunto de valores de
entrada y ejecuta algunas
manipulaciones para
producir un conjunto de
valores de salida.
Consideraciones…

- Mas datos, mas tiempo invertido.


- Calculo en cantidades generalizadas (n).
- No podemos medir el tiempo de acuerdo al
hardware.
Por eso recurrimos a la matemática y las
graficas.

Análisis de funciones
Conceptos que deben estar
claros…
matemáticas

Representaciones visuales 
Notación de landau

En matemática, la Notación de Landau, también llamada "o minúscula" y


"O mayúscula", es una notación para la comparación asintótica de
funciones, lo que permite establecer la cota inferior asintótica, la cota
superior asintótica y la cota ajustada asintótica.
Cota superior asintótica
En análisis de algoritmos una cota superior asintótica es una función que sirve de
cota superior de otra función cuando el argumento tiende a infinito. Usualmente
se utiliza la notación de landau : O(g(x)), Orden de g(x), coloquialmente llamada
Notación O Grande, para referirse a las funciones acotadas superiormente por la
función g(x).
Formalmente se define:
Ejemplo
Mas de un resultado…

¿Qué hacemos?
Big O notación Omega
Asíntota: En matemática, se le
llama asíntota de la gráfica de una
función a una recta a la que se
aproxima continuamente la gráfica
de tal función; es decir que la
distancia entre las dos tiende a ser
cero (0), a medida que se extienden
indefinidamente.
GRAFIQUEMOS…
ORDEN DE COMPLEJIDAD

- Análogamente de manera
idéntica al grado de funciones
algebraicas.

- Generalizando “familias de
funciones”
EFICIENCIA Y EXACTITUD

La eficiencia de un algoritmo es la propiedad mediante la


cual un algoritmo debe alcanzar la solución al problema en
el tiempo más corto posible o utilizando la cantidad más
pequeña posible de recursos físicos

- En los primeros tiempos de la informática moderna, las computadoras eran muy


lentas y tenían una capacidad de memoria pequeña.

- En general, el formato se puede expresar mediante una función: f (n) = eficiencia


Es decir, la eficiencia del algoritmo se examina como una función del número de
elementos que tienen que ser procesados.
Bucles lineales En los bucles se repiten las sentencias del cuerpo del bucle un número
determinado de veces, que determina la eficiencia del mismo. Normalmente, en los
algoritmos los bucles son el término dominante en cuanto a la eficiencia del mismo
Bucles lineales En los bucles se repiten las sentencias del cuerpo del bucle un número
determinado de veces, que determina la eficiencia del mismo. Normalmente, en los
algoritmos los bucles son el término dominante en cuanto a la eficiencia del mismo
Bucles lineales En los bucles se repiten las sentencias del cuerpo del bucle un número
determinado de veces, que determina la eficiencia del mismo. Normalmente, en los
algoritmos los bucles son el término dominante en cuanto a la eficiencia del mismo
Las altas velocidades de las computadoras actuales, hacen que
la medida exacta de la eficiencia de un algoritmo no sea tan
importante; pero si el orden del mismo.

N^3 -3n +1 O(n^3)

También O(n^4) , O(n^5) …

f(x) ≤ g(x) ≤ h(x) ≤ k(x) ...

f(x) = O(g(x))

A manera de conclusión, el análisis de eficiencia se simplifica con la notación O


grande
- Usualmente los algoritmos se definen en seudocódigo.

- La eficiencia de un algoritmo se define,


generalmente, en función del numero de elementos a
procesar y el tipo de bucle que se va a utilizar.

- Los diferentes bucles son:


Referencias bibliográficas
--
ftp://soporte.uson.mx/PUBLICO/02_ING.SISTEMAS.DE.INFORMACION/estructura_datos/Estructura%20
de%20datos%20en%20java%20Joyanes%201ed.pdf
-estructura de datos Luis Joyanes

- http://latecladeescape.com/h/2015/07/que-es-la-complejidad-de-un-algoritmo
- - lateclaescape
- http://bigocheatsheet.com/
- https://es.wikipedia.org/wiki/Notaci%C3%B3n_de_Landau
- https://es.wikipedia.org/wiki/Cota_superior_asint%C3%B3tica
- https://es.wikipedia.org/wiki/Cota_ajustada_asint%C3%B3tica
- https://es.wikipedia.org/wiki/Cota_inferior_asint%C3%B3tica
- https://es.khanacademy.org/computing/computer-science/algorithms/asymptotic-
notation/a/asymptotic-notation

Vous aimerez peut-être aussi