Complejidad Computacional

  • View
    36

  • Download
    0

Embed Size (px)

Transcript

  1. 1. ANLISIS DE ALGORITMOSEs la medida de los recursos (tiempo y espacio), que unalgoritmo requiere para su funcionamiento. sta se expresaen funcin de la talla del problema que se desea resolver.Qu es la Complejidad de un Algoritmo?
  2. 2. ANLISIS DE ALGORITMOSLa complejidad es la cantidad de memoria que se requierepara su ejecucin, esto tiene que ver con las estructuras dedatos utilizadas en la implementacin.Si el recurso es Espacio:
  3. 3. ANLISIS DE ALGORITMOSLa complejidad se asocia a la cantidad de tiempo que elalgoritmo toma para ejecutar las operaciones.Si el recurso es Tiempo:
  4. 4. ANLISIS DE ALGORITMOSTiempo de Ejecucin.Cuando el tamao de la entrada crece, entonces nos interesa medir el Tiempo deEjecucin, la funcin para medir esta complejidad se denota como: T(n),Esta funcin se mide:1. Ejecutando el Programa.2. Calcular sobre el cdigo contando las instrucciones a ejecutar y multiplicarlopor el tiempo requerido,
  5. 5. ANLISIS DE ALGORITMOSNotacin Asinttica.Necesitamos analizar la potencia del algoritmo independiente de la mquina y delprogramador, adems indagamos cuando el algoritmo se aplica a grandes problemas.Estas consideraciones nos llevan al estudio del comportamiento de un algoritmocuando forzamos el tamao del problema.N tiende al infinito.Asinttica quiere decir que analiza elcomportamiento de las funciones enbase a su crecimiento.
  6. 6. ANLISIS DE ALGORITMOSNotacin Asinttica.Se describe por medio de una funcin, que se estima a partir deltiempo de ejecucin o de espacio de memoria.La complejidad del algoritmo se denota: O (Big O) O Grande
  7. 7. ANLISIS DE ALGORITMOSNotacin Asinttica.El conjunto de funciones se denominan O, y existe una infinidad deellos.Complejidad TerminologaO(1) Complejidad constanteO(n2) Complejidad cuadrticaO(log n) Complejidad logartmicaO(n) Complejidad linealO(n log n) Complejidad casi-linealO(n^b) Complejidad polinmicaO(b^n) Complejidad exponencialO(n!) Complejidad factorial