Complejidad de los algoritmos

410 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
410
On SlideShare
0
From Embeds
0
Number of Embeds
24
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Complejidad de los algoritmos

  1. 1. Complejidad de unalgoritmoNombre: Jonathan cofre VivancoFecha: 08-mayo-2013
  2. 2. ¿Qué es una complejidad dealgoritmo?• -La complejidad de los algoritmos representa o dice el tiempo de ejecución decualquier programa en base a los n datos de entrada.
  3. 3. La complejidad de un algoritmo según:• En el desarrollo de un programa computacional resulta necesario definir criteriospara medir su rendimiento o comportamiento. Estos criterios se centranprincipalmente en su simplicidad y en el uso eficiente de los recursos.
  4. 4. Si los recursos fueran espacio• Respecto al uso eficiente de los recursos, éste suele medirse en función de dosespacio, es decir, memoria que utiliza
  5. 5. Y si fuera tiempo• el tiempo, lo que tarda en ejecutarse.
  6. 6. Cada algoritmo se va a comportar de manera distintadependiendo de la cantidad de datos que se ingresen (variables.) y del equipo en que se ejecute.
  7. 7. Por eso es conveniente estudiar• El comportamiento de un algoritmo puede cambiar notablemente para diferentes• entradas para muchos programas el tiempo de ejecución es en realidad unafunción• de la entrada específica, y no sólo del tamaño de ésta. Así suelen estudiarse trescasos• para un mismo algoritmo: caso peor, caso mejor y caso medio.
  8. 8. Complejidad del mejor caso• El caso mejor corresponde a la traza (secuencia de sentencias) del algoritmo querealiza menos instrucciones.
  9. 9. Complejidad del caso promedio• el caso peor corresponde a la traza del algoritmo que realiza más instrucciones, locual nos asegura que al menos el algoritmo se desempeñará de esa forma .
  10. 10. Complejidad peor caso• el caso peor corresponde a la traza del algoritmo que realiza más instrucciones, locual nos asegura que al menos el algoritmo se desempeñará de esa forma .
  11. 11. Tiempo de ejecución• Tiempo de Ejecución• cuando el tamaño de la entrada crece , la función para medir esa• complejidad se denota como T(n).• Esta función se puede medir físicamente ejecutando el programa, calcularse sobreel código contando instrucciones a ejecutar y multiplicando por el tiemporequerido por cada instrucción
  12. 12. Notación asintótica( o cota superior asintótica)• En análisis de algoritmo una cota superior asintótica es una función que sirve decota superior de otra función cuando el argumento tiende a infinito.
  13. 13. La cota superior asintótica tiene gran importancia enteoría de la complejidad computacional a la hora dedefinir las clases de complejidad de cada algoritmo.
  14. 14. Se denomina “asintótica” porque analiza elcomportamiento de las funciones en base a su tasa decrecimiento• En informática, la notación O grande se utiliza para clasificar los algoritmos decómo responden (por ejemplo, en su tiempo de procesamiento o de los requisitosde espacio de trabajo) a los cambios de tamaño de entrada. Esta siempre espositiva
  15. 15. Órdenes usuales para funcionesLos órdenes más utilizados en análisis de algoritmos, en orden creciente, son lossiguientes (donde c representa una constante y n el tamaño de la entrada):notación nombreO(1) orden constanteO(log log n) orden sublogarítmicoO(log n) orden logarítmicoO() orden sublinealO(n) orden linealO(n · log n) orden lineal logarítmicoO(nc) orden potencialO(cn), n > 1 orden exponencialO(n!) orden factorialO(nn) orden potencial exponencial
  16. 16. final

×