01 Complejidad Algoritmica

Embed Size (px)

Citation preview

  • 8/18/2019 01 Complejidad Algoritmica

    1/26

    Análisis de

    algoritmosProfra. Consuelo Varinia García Mendoza

  • 8/18/2019 01 Complejidad Algoritmica

    2/26

    Introducción¿Qué es un algoritmo?

    ¿Por qué elaoramos algoritmos

    com!utacionales?¿Qué algoritmos conoces?

    ¿"as com!arado los algoritmos que elaorascon otros que resuel#an el mismo !rolema?

    ¿Qué metodología$ técnica o estratégicautilizas cuando dise%as un algoritmo?

    ¿ Qué estudiaremos en &n'lisis de&lgoritmos?

  • 8/18/2019 01 Complejidad Algoritmica

    3/26

     (emarioI.  (écnicas de an'lisis

    II. )strategias de dise%oIII. Com!letitud *P

  • 8/18/2019 01 Complejidad Algoritmica

    4/26

    +iliografía recomendada+aase$ ,. Van Gelder$ &. -//01. Algoritmos Computacionales -23 )d.1. Mé4ico5 )d. Pearson. I,+*6025 7896//0:0;;9.

    +rassard$ G. -07781. Fundamentos de Algoritmia. )s!a%a5 )d.Prentice "all. I,+* 9;97::///eiserson$ C. @i#est @. -//21. Introduction toalgorithms -3 )d.1 )stados Anidos de &mérica5 MI( !ress.

    //2. I,+*6025 7896//878/B;9. 

    "arel$ . -//;1. Algorithmics: The spirit of Computing -2rd.)d1. )stados Anidos de &mérica5 &ddison DesleE. I,+*60257896/200089;8.

  • 8/18/2019 01 Complejidad Algoritmica

    5/26

    )#aluación

    2/F )4amen

    2/F Partici!aciones$ tareas$ acti#idades enclase E !racticas

    2/F Practicas

  • 8/18/2019 01 Complejidad Algoritmica

    6/26

     (area

  • 8/18/2019 01 Complejidad Algoritmica

    7/26

    La complejidad delos algoritmos

    &n'lisis de &lgoritmos

    Profra. Consuelo Varinia García Mendoza

  • 8/18/2019 01 Complejidad Algoritmica

    8/26

    )l meor algoritmoiferentes algoritmos !ueden resol#er el

    mismo !rolema. -reconocimiento de rostros$seguridad inform'tica$ encri!tación$geolocalización con dis!ositi#os mó#iles1

    ¿Qué criterios tomarías en cuenta !araseleccionar uno de ellos?

  • 8/18/2019 01 Complejidad Algoritmica

    9/26

    Criterios de eleccióne acuerdo a los recursos+uscar el algoritmo m's adecuado al

    dis!ositi#o del que dis!onemos -anco deanda$ es!acio en memoria$ atería$ cóm!uto!aralelo -cluster1$ acceso a internet1.

    )Hciencia)l que tarde el menor tiem!o en eecutarse

  • 8/18/2019 01 Complejidad Algoritmica

    10/26

     (iem!o de )ecución -()1¿Cómo !odemos conocer el tiem!o de

    eecución de un algoritmo?$¿este tiem!o ser' igual en todos losdis!ositi#os ?

    ¿de qué factores #a a de!ender?$

  • 8/18/2019 01 Complejidad Algoritmica

    11/26

    ¿e que de!ende el () de unalgoritmo?

     (ama%o de entrada -dimensión del #ector quese #a a ordenar$ de las matrices que semulti!licaran$ etc.1

    e la entrada misma -!or eem!lo que los datosestén ordenados1

    Velocidad del !rocesador>a calidad del !rograma oeto generado !or el

    com!iladorCom!leidad del !ro!io algoritmo

  • 8/18/2019 01 Complejidad Algoritmica

    12/26

    ¿Cómo se !uede medir el () de los

    algoritmos?

    Medida teóricaMedida real

     

  • 8/18/2019 01 Complejidad Algoritmica

    13/26

    Medida @eal)ecutado los algoritmo con #alores de entrada

    determinados$ en un ordenador concreto.

    ¿)4iste alguna funciones en C E a#a !uedamedir el tiem!o de eecución de un!rograma?

    ¿)4iste alguna función que !ermita medir eltiem!o de eecución de cada o!eraciónelemental?

  • 8/18/2019 01 Complejidad Algoritmica

    14/26

    Medida (eórica)ncontrando T(n)

    )n un ordenador idealizado !ara una

    entrada de tama%o nConsiderando el tama%o de la entrada $

    !ero no su naturaleza.

    onde cada o!eración elemental tomar'el mismo tiem!o en eecutarseinde!endientemente del ordenador odis!ositi#o en que se eecute

  • 8/18/2019 01 Complejidad Algoritmica

    15/26

    T(n)

  • 8/18/2019 01 Complejidad Algoritmica

    16/26

    T(n)

  • 8/18/2019 01 Complejidad Algoritmica

    17/26

    ¿Cómo se otiene T(n)?

    )n función del nJmero de o!eraciones elementales

    -K)1.

    K!eraciones aritméticas 'sicas&signaciones a #ariales>lamadas a funciones E !rocedimientosCom!araciones lógicas&cceso estructuras inde4adas 'sicas -#ectores E

    matrices1

  • 8/18/2019 01 Complejidad Algoritmica

    18/26

    @ecomendaciones al realizar la

    medida teórica

    @ealizar el estudio ase al conunto de

    sentencias$ que caracterizan que el algoritmosea r'!ido o lento.

    Para facilitar el calculo se su!ondr' que los

    tiem!os de las diferentes K) son los mismos.

  • 8/18/2019 01 Complejidad Algoritmica

    19/26

    )em!lo)ncontrar la !osición de un entero dado c 

    dentro de un #ector ordenado de enteros detama%o n$ de#ol#iendo cero si el elemento noest' en el #ector.

  • 8/18/2019 01 Complejidad Algoritmica

    20/26

    IdentiHcar K)0. iL0

    . ile -aNiO c n1

    2.  LR0S

    ;. if -aNO1LLc1

    B.   return S

    :. else

    8.   return /S

    TT una asignación 0

    TTdos com!araciones$ un acceso a #ector E un and ; 

    TT un incremento E una asignación

    TTun acceso a #ector E una asignación

    TT un return si la condición se cum!le 0

    TT un return si la condición no se cum!le 0

  • 8/18/2019 01 Complejidad Algoritmica

    21/26

    Casos de estudioCaso meor

    Caso !eorCaso medio

  • 8/18/2019 01 Complejidad Algoritmica

    22/26

       M

      e   G  o  r

      c  a  s  o

    0. iL0

    . ile -aNiO c n1

    2.    LR0S

    ;. if -aNO1LLc1

    B. return S

    :. else

    8. return /S

     0

     TT cortocircuito ;6U

    4

     

     0

       0

    T(n)=1+2+2+1=6

  • 8/18/2019 01 Complejidad Algoritmica

    23/26

       P  e  o  r  c

      a  s  o

    0. iL/

    . ile -aNiO c n1

    2.    LR0S

    ;. if -aNO1LLc1

    B.   return S

    :. else

    8. return /S

      0

      ;

     

     

     

      0

     

      0

    n

  • 8/18/2019 01 Complejidad Algoritmica

    24/26

     

       C

      a  s  o  m

      e   d   i  o

    0. iL0

    . ile -aNiO c n1

    2.    LR0S

    ;. if -aNO1LLc1

    B.   return S

    :. else8. return /S

      0

      ; 

     

     

      0

     

     0

    -n601 T

  • 8/18/2019 01 Complejidad Algoritmica

    25/26

    )ercicios&lgoritmo 0 -"acer como eem!lo1&lgoritmo

    &lgoritmo 2

  • 8/18/2019 01 Complejidad Algoritmica

    26/26

    Podría com!lementarse con los eercicios deordenamiento