Está en la página 1de 40

Eficiencia de los

Algoritmos
Estructura de DatosEstructuras de Datos
Ing. Carlos Alonzo

Estructuras de Datos

Qu es un algoritmo?
Un algoritmo, puede expresarse en trminos de un lenguaje de
programacin, para obtener un programa que resuelve el problema
por medio de la computadora.

Estructuras de Datos

Comparacin de algoritmos
USO DE RECURSOS
Computacionales:
Tiempo de ejecucin
Espacio en memoria

No computacionales:
Esfuerzo de desarrollo (anlisis, diseo & implementacin)

Estructuras de Datos

Estructuras de Datos

Principio de invarianza

Estructuras de Datos

Eficiencia

Estructuras de Datos

Tipos de anlisis

Estructuras de Datos

Eficiencia

Estructuras de Datos

Notaciones asintticas

Estructuras de Datos

Notaciones asintticas

Estructuras de Datos

Notaciones asintticas

Estructuras de Datos

rdenes de eficiencia

Estructuras de Datos

Notaciones asintticas

Estructuras de Datos

Notaciones asintticas

Estructuras de Datos

rdenes de eficiencia

Estructuras de Datos

rdenes de eficiencia

Estructuras de Datos

rdenes de eficiencia

Estructuras de Datos

rdenes de eficiencia

Estructuras de Datos

Clculo de la eficiencia

Estructuras de Datos

rdenes de eficiencia

Estructuras de Datos

Clculo de la eficiencia

Estructuras de Datos

Reglas de Clculo de Eficiencia

Estructuras de Datos

Reglas de Clculo de Eficiencia

Estructuras de Datos

Reglas de Clculo de Eficiencia

Estructuras de Datos

Reglas de Clculo de Eficiencia

Estructuras de Datos

Reglas de Clculo de Eficiencia

Estructuras de Datos

Reglas de Clculo de Eficiencia

Estructuras de Datos

Clculo de la eficiencia

Estructuras de Datos

Clculo de la eficiencia

Estructuras de Datos

Clculo de la eficiencia

Estructuras de Datos

Clculo de la eficiencia

Estructuras de Datos

Tasas de Crecimiento Habituales

Estructuras de Datos

Fuentes

Estructuras de Datos en Java; Joyanes Aguilar, Luis; Mc Graw Hill, 2008


CAPITULO 1 y 3

Anlisis de la eficiencia de los algoritmos; Departament de Llenguatges i


Sistemes Informtics, FIBUPC 2011

Eficiencia de los Algoritmos, Departamento de Ciencias de la Computacin e


I.A.; Universidad de Granada.

Estructuras de Datos

Ejercicio 1

Estructuras de Datos

Ejercicio 1

Estructuras de Datos

Ejercicio 2
Un algoritmo tarda 10 segundos en resolver un caso de un
determinado problema de tamao n=10,000. Determinar el tiempo
que tardar en resolver un caso de tamao n=30,000 en el supuesto
de que la complejidad del algoritmo sea:
O(n2)
O(n5)
O(nlogn)

Estructuras de Datos

Ejercicio 2
Un algoritmo tarda 10 segundos en resolver un caso de un
determinado problema de tamao n=10,000. Determinar el tiempo
que tardar en resolver un caso de tamao n=30,000 en el supuesto
de que la complejidad del algoritmo sea:
O(n2)
O(n5)
90
O(nlogn)
2430
n2
n5
nlogn

33.57

Estructuras de Datos

Tarea

Dado el siguiente algoritmo investigar si la eficiencia varia de acuerdo al orden de los datos,
explique en con sus palabras su respuesta en un breve prrafo.

Estructuras de Datos

Complementos

Estructuras de Datos

Complementos
El logaritmo se define como:

De la definicin de logaritmo podemos deducir: