SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
Outline
    Modelos de referencia
 An´lisis del Insertion Sort
   a
 Crecimiento de funciones
           Notaci´n Theta
                   o
          Notaci´n Big Oh
                 o
          Notaci´n Omega
                 o
          Notaci´n Small o
                 o




      An´lisis de Algoritmos
        a

       Roberto Carlos Abreu D´
                             ıaz


               December 2, 2009




Roberto Carlos Abreu D´
                      ıaz      An´lisis de Algoritmos
                                 a
Outline
                     Modelos de referencia
                  An´lisis del Insertion Sort
                    a
                  Crecimiento de funciones
                            Notaci´n Theta
                                    o
                           Notaci´n Big Oh
                                  o
                           Notaci´n Omega
                                  o
                           Notaci´n Small o
                                  o




1   Modelos de referencia

2   An´lisis del Insertion Sort
      a
      Pseudoc´digo
               o

3   Crecimiento de funciones

4   Notaci´n Theta
          o

5   Notaci´n Big Oh
          o

6   Notaci´n Omega
          o

7   Notaci´n Small o
          o


                 Roberto Carlos Abreu D´
                                       ıaz      An´lisis de Algoritmos
                                                  a
Outline
                  Modelos de referencia
               An´lisis del Insertion Sort
                 a
               Crecimiento de funciones
                         Notaci´n Theta
                                 o
                        Notaci´n Big Oh
                               o
                        Notaci´n Omega
                               o
                        Notaci´n Small o
                               o




Modelos de referencia
Antes de analizar un algoritmo debemos tener un modelo de la
implementaci´n de la tecnolog´ que se va a usar, incluyendo un
            o                 ıa
modelo para los recursos de esa tecnolog´ y sus costos.
                                        ıa

Nosotros...
Asumamos un modelo de computaci´n gen´rico de acceso aleatorio
                                o      e
(Random-Access Machine) y nuestros algoritmos son
implementados como programas de computadoras




              Roberto Carlos Abreu D´
                                    ıaz      An´lisis de Algoritmos
                                               a
Outline
                   Modelos de referencia
                An´lisis del Insertion Sort
                  a
                Crecimiento de funciones
                          Notaci´n Theta
                                  o
                         Notaci´n Big Oh
                                o
                         Notaci´n Omega
                                o
                         Notaci´n Small o
                                o




El modelo RAM
    Las instrucciones se ejecutan una tras otra
    No hay operaciones concurrentes




               Roberto Carlos Abreu D´
                                     ıaz      An´lisis de Algoritmos
                                                a
Outline
                   Modelos de referencia
                An´lisis del Insertion Sort
                  a
                Crecimiento de funciones
                          Notaci´n Theta
                                  o
                         Notaci´n Big Oh
                                o
                         Notaci´n Omega
                                o
                         Notaci´n Small o
                                o




El modelo RAM
    Las instrucciones se ejecutan una tras otra
    No hay operaciones concurrentes
    Contiene instrucciones com´nmente encontradas en
                                u
    computadores reales: aritm´ticas( +, -, *, /, %), movimiento
                                e
    de data (cargar, copiar, almacenar) y control (condicionales,
    llamado de funciones y retorno)




               Roberto Carlos Abreu D´
                                     ıaz      An´lisis de Algoritmos
                                                a
Outline
                   Modelos de referencia
                An´lisis del Insertion Sort
                  a
                Crecimiento de funciones
                          Notaci´n Theta
                                  o
                         Notaci´n Big Oh
                                o
                         Notaci´n Omega
                                o
                         Notaci´n Small o
                                o




El modelo RAM
    Las instrucciones se ejecutan una tras otra
    No hay operaciones concurrentes
    Contiene instrucciones com´nmente encontradas en
                                u
    computadores reales: aritm´ticas( +, -, *, /, %), movimiento
                                e
    de data (cargar, copiar, almacenar) y control (condicionales,
    llamado de funciones y retorno)
    No modela la jerarqu´ de memoria que se encuentra en
                         ıa
    las arquitecturas modernas: cache, memoria virtual,
    etc...


               Roberto Carlos Abreu D´
                                     ıaz      An´lisis de Algoritmos
                                                a
Outline
                   Modelos de referencia
                An´lisis del Insertion Sort
                  a
                Crecimiento de funciones
                          Notaci´n Theta
                                  o
                         Notaci´n Big Oh
                                o
                         Notaci´n Omega
                                o
                         Notaci´n Small o
                                o




El modelo RAM
    Las instrucciones se ejecutan una tras otra
    No hay operaciones concurrentes
    Contiene instrucciones com´nmente encontradas en
                                u
    computadores reales: aritm´ticas( +, -, *, /, %), movimiento
                                e
    de data (cargar, copiar, almacenar) y control (condicionales,
    llamado de funciones y retorno)
    No modela la jerarqu´ de memoria que se encuentra en
                         ıa
    las arquitecturas modernas: cache, memoria virtual,
    etc...


               Roberto Carlos Abreu D´
                                     ıaz      An´lisis de Algoritmos
                                                a
Outline
                     Modelos de referencia
                  An´lisis del Insertion Sort
                    a
                  Crecimiento de funciones
                                                Pseudoc´digo
                                                       o
                            Notaci´n Theta
                                    o
                           Notaci´n Big Oh
                                  o
                           Notaci´n Omega
                                  o
                           Notaci´n Small o
                                  o


An´lisis del Insertion Sort
  a
      El tiempo que toma Insertion Sort depende fundamentalmente
      de la entrada: el ordenamiento de 1,000 n´meros toma m´s
                                                u              a
      que el de 10.
      M´s aun, el Insertion Sort puede tomar distinta cantidad de
         a
      tiempo para ordenar dos entradas del mismo tama˜o pero
                                                        n
      diferiendo en qu´ tan ya ordenadas est´n.
                      e                     e
  Preliminares...
  El tiempo de ejecuci´n de un algoritmo en funci´n de su entrada es
                       o                           o
  la cantidad pasos ejecutados. Asumeremos que un tiempo
  constante se necesita para ejecutar cada l´ınea de c´digo.
                                                      o
  Las l´ıneas pueden tener distintos tiempos, pero asumeremos que el
  tiempo de la i-´sima l´
                  e      ınea toma Ci, donde Ci es constante.
                 Roberto Carlos Abreu D´
                                       ıaz      An´lisis de Algoritmos
                                                  a
Outline
                    Modelos de referencia
                 An´lisis del Insertion Sort
                   a
                 Crecimiento de funciones
                                               Pseudoc´digo
                                                      o
                           Notaci´n Theta
                                   o
                          Notaci´n Big Oh
                                 o
                          Notaci´n Omega
                                 o
                          Notaci´n Small o
                                 o


Pseudoc´digo
       o




     Las l´
          ıneas donde est´n definidos los bucles se ejecutan una vez
                               a
     m´s que el cuerpo del bucle mismo. ¿Por qu´?
       a                                                 e
     El tiempo de ejecuci´n del algoritmo es la suma de los
                               o
     tiempos de ejecuci´n de cada sentencia ejecutada. Una
                            o
     sentencia que tome Cx tiempo An´lisis de Algoritmos veces contribuye
                Roberto Carlos Abreu D´
                                      ıaz ya se repita n
Outline
                   Modelos de referencia
                An´lisis del Insertion Sort
                  a
                Crecimiento de funciones
                                              Pseudoc´digo
                                                     o
                          Notaci´n Theta
                                  o
                         Notaci´n Big Oh
                                o
                         Notaci´n Omega
                                o
                         Notaci´n Small o
                                o




Tiempo de ejecuci´n del Insertion Sort
                 o
Sumando los productos anteriores (costo x veces) llegamos a la
siguiente f´rmula:
           o
        T(n) = c1 n + c2 (n − 1) + c4 (n − 1) + c5 n tj +
                                                   j=2
           c6 n (tj − 1) + c7 n (tj − 1) + c8 (n − 1)
              j=2                 j=2




               Roberto Carlos Abreu D´
                                     ıaz      An´lisis de Algoritmos
                                                a
Outline
                      Modelos de referencia
                   An´lisis del Insertion Sort
                     a
                   Crecimiento de funciones
                                                 Pseudoc´digo
                                                        o
                             Notaci´n Theta
                                     o
                            Notaci´n Big Oh
                                   o
                            Notaci´n Omega
                                   o
                            Notaci´n Small o
                                   o




Tiempo de ejecuci´n del Insertion Sort (2)
                 o
Notando que:
      n           n(n+1)
      j=2 tj =       2   −1 y
        n               n(n+1)
        j=2 (tj − 1) = 2
Entonces:
T(n) =
c1 n + c2 (n − 1) + c4 (n − 1) + c5 ( n(n+1) − 1) + c6 ( n(n+1)) + c7 ( n(n+1) )
                                         2                  2              2


T(n)
T(n) =
( c25 + c26 + c27 )n2 +(c1 +c2 +c4 + c25 − c26 − c27 +c8 )n−(c2 +c4 +c5 +c8 )

                  Roberto Carlos Abreu D´
                                        ıaz      An´lisis de Algoritmos
                                                   a
Outline
              Modelos de referencia
           An´lisis del Insertion Sort
             a
           Crecimiento de funciones
                                         Pseudoc´digo
                                                o
                     Notaci´n Theta
                             o
                    Notaci´n Big Oh
                           o
                    Notaci´n Omega
                           o
                    Notaci´n Small o
                           o



Este tiempo de ejecuci´n puede ser expresado de la forma
                      o
an2 + bn + c para las constantes a, b y c que dependen de los
costos ci .
Por lo tanto, es una funci´n cuadr´tica
                          o       a
Generalmente nos interesamos por el peor tiempo de ejecuci´n
                                                          o
de los algoritmos, porque...
(1) Es un l´
           ımite superior, garantiza que el algoritmo no
exceder´ tal l´
       a      ımite
(2) El peor de los casos ocurre frecuentemente. Considera el
ejemplo de una b´squeda en una base de datos.
                  u
(3) El caso promedio es dif´ de especificar y termina siendo
                            ıcil
una funci´n similar a la del peor de los casos
         o

          Roberto Carlos Abreu D´
                                ıaz      An´lisis de Algoritmos
                                           a
Outline
                   Modelos de referencia
                An´lisis del Insertion Sort
                  a
                Crecimiento de funciones
                          Notaci´n Theta
                                  o
                         Notaci´n Big Oh
                                o
                         Notaci´n Omega
                                o
                         Notaci´n Small o
                                o


Crecimiento de funciones
     En el an´lisis de algoritmos nos interesa la proporci´n o orden
             a                                            o
     de crecimiento.
    Este orden de crecimiento es el t´rmino de mayor orden del
                                     e
    polinomio que expresa el tiempo de ejecuci´n (n2 en el caso
                                              o
    del ordenamiento por inserci´n
                                o
    Esto es porque, a medida que n crece, los otros t´rminos no
                                                     e
    aportan tanto.
    En el caso del ordenamiento por inserci´n, decimos entonces
                                           o
    que su tiempo de ejecuci´n en el peor de los casos es de orden
                            o
    θ(n2 )
    Hay distintas notaciones para expresar el tiempo de
    ejecuci´n...
           o
               Roberto Carlos Abreu D´
                                     ıaz      An´lisis de Algoritmos
                                                a
Outline
                      Modelos de referencia
                   An´lisis del Insertion Sort
                     a
                   Crecimiento de funciones
                             Notaci´n Theta
                                     o
                            Notaci´n Big Oh
                                   o
                            Notaci´n Omega
                                   o
                            Notaci´n Small o
                                   o


Notaci´n Theta
      o

  Dada una funci´n g (n), decimos por Θ(g (n)) el conjunto de
                 o
  funciones
  Θ(g (n)) = {f(n): existen constantes positivas c1 , c2 yn0 tal que
  0 <= c1 g (n) <= f (n) <= c2 g (n) para todas las n => n0}
  O sea
  Una funci´n f(n) pertenece al conjunto Θ(g (n)) si existen
             o
  constante c1 yc2 tal que pueda estar en el medio entre
  c1 g (n)yc2 g (n), para una n suficientemente grande.
      Al decir f(n) = Θ(g (n)) se debe leer ”f(n) es del orden
      Θ(g (n))”

                  Roberto Carlos Abreu D´
                                        ıaz      An´lisis de Algoritmos
                                                   a
Outline
    Modelos de referencia
 An´lisis del Insertion Sort
   a
 Crecimiento de funciones
           Notaci´n Theta
                   o
          Notaci´n Big Oh
                 o
          Notaci´n Omega
                 o
          Notaci´n Small o
                 o




Roberto Carlos Abreu D´
                      ıaz      An´lisis de Algoritmos
                                 a
Outline
                     Modelos de referencia
                  An´lisis del Insertion Sort
                    a
                  Crecimiento de funciones
                            Notaci´n Theta
                                    o
                           Notaci´n Big Oh
                                  o
                           Notaci´n Omega
                                  o
                           Notaci´n Small o
                                  o


Notaci´n Big Oh
      o
  Dada una funci´n g (n), denotamos por O(g (n)) el conjunto de
                 o
  funciones
  O(g (n)) = {f(n): existen constantes positivas cyn0 tal que
  f (n) <= cg (n) para todas las n => n0}
  O sea
  La notaci´n O s´lo denota un l´
             o      o             ımite superior. Es como decir, ”a lo
  sumo X”. Por lo tanto, n = O(n2 ). Esto implica tambi´n que al
                                                          e
  utilizar la notaci´n O para expresar el peor tiempo de ejecuci´n de
                    o                                           o
  un algoritmo, tambi´n estamos expresando tiempo de ejecuci´n
                       e                                        o
  para cada entrada.
      Al decir f(n) = O(g (n)) se debe leer ”f(n) es del orden
      O(g (n))”
                 Roberto Carlos Abreu D´
                                       ıaz      An´lisis de Algoritmos
                                                  a
Outline
    Modelos de referencia
 An´lisis del Insertion Sort
   a
 Crecimiento de funciones
           Notaci´n Theta
                   o
          Notaci´n Big Oh
                 o
          Notaci´n Omega
                 o
          Notaci´n Small o
                 o




Roberto Carlos Abreu D´
                      ıaz      An´lisis de Algoritmos
                                 a
Outline
                     Modelos de referencia
                  An´lisis del Insertion Sort
                    a
                  Crecimiento de funciones
                            Notaci´n Theta
                                    o
                           Notaci´n Big Oh
                                  o
                           Notaci´n Omega
                                  o
                           Notaci´n Small o
                                  o


Notaci´n Omega
      o
  Dada una funci´n g (n), denotamos por Ω(g (n)) el conjunto de
                 o
  funciones
  Ω(g (n)) = {f(n): existen constantes positivas cyn0 tal que
  0 <= cg (n) <= f (n) para todas las n => n0}
  O sea
  As´ como O(g(n)) expresa un l´
     ı                            ımite asint´tico superior, Ω(g (n))
                                             o
  exprea un l´
             ımite asint´tico inferior. Esto implica, similar a Big Oh,
                        o
  que al expresar el mejor tiempo de ejecuci´n con Ω tambi´n
                                              o                e
  estamos expresando el tiempo de ejecuci´n de todas las entradas.
                                            o
  Ejemplo: El tiempo de ejecuci´n del insertion-sort cae entre
                                 o
  Ω(n)yO(n2 ).
      Al decir f(n) = Ω(g (n)) se debe leer ”f(n) es del orden
      Ω(g (n))” Roberto Carlos Abreu D´
                                      ıaz An´lisis de Algoritmos
                                            a
Outline
                     Modelos de referencia
                  An´lisis del Insertion Sort
                    a
                  Crecimiento de funciones
                            Notaci´n Theta
                                    o
                           Notaci´n Big Oh
                                  o
                           Notaci´n Omega
                                  o
                           Notaci´n Small o
                                  o


Small o

  Dada una funci´n g (n), denotamos por o(g (n)) el conjunto de
                 o
  funciones
  o(g (n)) = {f(n): existen constantes positivas cyn0 tal que
  0 <= f (n) < cg (n) para todas las n => n0}
  O sea
  Small o representa, a diferencia de Big O, un l´
                                                 ımite asint´tico
                                                            o
  superior pero no fuerte. Ejemplo: 2n = o(n2 ) pero no 2n2 = o(n2 )
      Al decir f(n) = o(g (n)) se debe leer ”f(n) es del orden
      o(g (n))”


                 Roberto Carlos Abreu D´
                                       ıaz      An´lisis de Algoritmos
                                                  a

Más contenido relacionado

Similar a Análisis Algoritmos Insertion Sort

Similar a Análisis Algoritmos Insertion Sort (18)

ITT-235-L: Introducción a Sistemas Computacionales
ITT-235-L: Introducción a Sistemas ComputacionalesITT-235-L: Introducción a Sistemas Computacionales
ITT-235-L: Introducción a Sistemas Computacionales
 
Algoritmos(1)
Algoritmos(1)Algoritmos(1)
Algoritmos(1)
 
Tarea 3
Tarea  3Tarea  3
Tarea 3
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Tarea3.
Tarea3.Tarea3.
Tarea3.
 
Conseptos programacion v
Conseptos programacion vConseptos programacion v
Conseptos programacion v
 
Prelogica de ntics
Prelogica de nticsPrelogica de ntics
Prelogica de ntics
 
Prelogica de ntics
Prelogica de nticsPrelogica de ntics
Prelogica de ntics
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
pre- lógica
pre- lógica pre- lógica
pre- lógica
 
Pre- logica
Pre- logica Pre- logica
Pre- logica
 
Clase2
Clase2Clase2
Clase2
 
Logica de programacion de algoritmos
Logica de programacion de algoritmosLogica de programacion de algoritmos
Logica de programacion de algoritmos
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
 
Prelógica
PrelógicaPrelógica
Prelógica
 
Presentación desiree vegas
Presentación desiree vegasPresentación desiree vegas
Presentación desiree vegas
 
Tarea3
Tarea3Tarea3
Tarea3
 

Más de rcad

Arreglos 1
Arreglos 1Arreglos 1
Arreglos 1rcad
 
Funciones
FuncionesFunciones
Funcionesrcad
 
Estructuras de Control y Repetición
Estructuras de Control y RepeticiónEstructuras de Control y Repetición
Estructuras de Control y Repeticiónrcad
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colasrcad
 
Elementos Basicos Programacion
Elementos Basicos ProgramacionElementos Basicos Programacion
Elementos Basicos Programacionrcad
 
Programas, Algoritmos
Programas, AlgoritmosProgramas, Algoritmos
Programas, Algoritmosrcad
 
Recursión
RecursiónRecursión
Recursiónrcad
 
Estructuras de Datos y Algoritmos - Introducción
Estructuras de Datos y Algoritmos - IntroducciónEstructuras de Datos y Algoritmos - Introducción
Estructuras de Datos y Algoritmos - Introducciónrcad
 
Introducción a la Programación
Introducción a la ProgramaciónIntroducción a la Programación
Introducción a la Programaciónrcad
 

Más de rcad (9)

Arreglos 1
Arreglos 1Arreglos 1
Arreglos 1
 
Funciones
FuncionesFunciones
Funciones
 
Estructuras de Control y Repetición
Estructuras de Control y RepeticiónEstructuras de Control y Repetición
Estructuras de Control y Repetición
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
Elementos Basicos Programacion
Elementos Basicos ProgramacionElementos Basicos Programacion
Elementos Basicos Programacion
 
Programas, Algoritmos
Programas, AlgoritmosProgramas, Algoritmos
Programas, Algoritmos
 
Recursión
RecursiónRecursión
Recursión
 
Estructuras de Datos y Algoritmos - Introducción
Estructuras de Datos y Algoritmos - IntroducciónEstructuras de Datos y Algoritmos - Introducción
Estructuras de Datos y Algoritmos - Introducción
 
Introducción a la Programación
Introducción a la ProgramaciónIntroducción a la Programación
Introducción a la Programación
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 

Último (16)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

Análisis Algoritmos Insertion Sort

  • 1. Outline Modelos de referencia An´lisis del Insertion Sort a Crecimiento de funciones Notaci´n Theta o Notaci´n Big Oh o Notaci´n Omega o Notaci´n Small o o An´lisis de Algoritmos a Roberto Carlos Abreu D´ ıaz December 2, 2009 Roberto Carlos Abreu D´ ıaz An´lisis de Algoritmos a
  • 2. Outline Modelos de referencia An´lisis del Insertion Sort a Crecimiento de funciones Notaci´n Theta o Notaci´n Big Oh o Notaci´n Omega o Notaci´n Small o o 1 Modelos de referencia 2 An´lisis del Insertion Sort a Pseudoc´digo o 3 Crecimiento de funciones 4 Notaci´n Theta o 5 Notaci´n Big Oh o 6 Notaci´n Omega o 7 Notaci´n Small o o Roberto Carlos Abreu D´ ıaz An´lisis de Algoritmos a
  • 3. Outline Modelos de referencia An´lisis del Insertion Sort a Crecimiento de funciones Notaci´n Theta o Notaci´n Big Oh o Notaci´n Omega o Notaci´n Small o o Modelos de referencia Antes de analizar un algoritmo debemos tener un modelo de la implementaci´n de la tecnolog´ que se va a usar, incluyendo un o ıa modelo para los recursos de esa tecnolog´ y sus costos. ıa Nosotros... Asumamos un modelo de computaci´n gen´rico de acceso aleatorio o e (Random-Access Machine) y nuestros algoritmos son implementados como programas de computadoras Roberto Carlos Abreu D´ ıaz An´lisis de Algoritmos a
  • 4. Outline Modelos de referencia An´lisis del Insertion Sort a Crecimiento de funciones Notaci´n Theta o Notaci´n Big Oh o Notaci´n Omega o Notaci´n Small o o El modelo RAM Las instrucciones se ejecutan una tras otra No hay operaciones concurrentes Roberto Carlos Abreu D´ ıaz An´lisis de Algoritmos a
  • 5. Outline Modelos de referencia An´lisis del Insertion Sort a Crecimiento de funciones Notaci´n Theta o Notaci´n Big Oh o Notaci´n Omega o Notaci´n Small o o El modelo RAM Las instrucciones se ejecutan una tras otra No hay operaciones concurrentes Contiene instrucciones com´nmente encontradas en u computadores reales: aritm´ticas( +, -, *, /, %), movimiento e de data (cargar, copiar, almacenar) y control (condicionales, llamado de funciones y retorno) Roberto Carlos Abreu D´ ıaz An´lisis de Algoritmos a
  • 6. Outline Modelos de referencia An´lisis del Insertion Sort a Crecimiento de funciones Notaci´n Theta o Notaci´n Big Oh o Notaci´n Omega o Notaci´n Small o o El modelo RAM Las instrucciones se ejecutan una tras otra No hay operaciones concurrentes Contiene instrucciones com´nmente encontradas en u computadores reales: aritm´ticas( +, -, *, /, %), movimiento e de data (cargar, copiar, almacenar) y control (condicionales, llamado de funciones y retorno) No modela la jerarqu´ de memoria que se encuentra en ıa las arquitecturas modernas: cache, memoria virtual, etc... Roberto Carlos Abreu D´ ıaz An´lisis de Algoritmos a
  • 7. Outline Modelos de referencia An´lisis del Insertion Sort a Crecimiento de funciones Notaci´n Theta o Notaci´n Big Oh o Notaci´n Omega o Notaci´n Small o o El modelo RAM Las instrucciones se ejecutan una tras otra No hay operaciones concurrentes Contiene instrucciones com´nmente encontradas en u computadores reales: aritm´ticas( +, -, *, /, %), movimiento e de data (cargar, copiar, almacenar) y control (condicionales, llamado de funciones y retorno) No modela la jerarqu´ de memoria que se encuentra en ıa las arquitecturas modernas: cache, memoria virtual, etc... Roberto Carlos Abreu D´ ıaz An´lisis de Algoritmos a
  • 8. Outline Modelos de referencia An´lisis del Insertion Sort a Crecimiento de funciones Pseudoc´digo o Notaci´n Theta o Notaci´n Big Oh o Notaci´n Omega o Notaci´n Small o o An´lisis del Insertion Sort a El tiempo que toma Insertion Sort depende fundamentalmente de la entrada: el ordenamiento de 1,000 n´meros toma m´s u a que el de 10. M´s aun, el Insertion Sort puede tomar distinta cantidad de a tiempo para ordenar dos entradas del mismo tama˜o pero n diferiendo en qu´ tan ya ordenadas est´n. e e Preliminares... El tiempo de ejecuci´n de un algoritmo en funci´n de su entrada es o o la cantidad pasos ejecutados. Asumeremos que un tiempo constante se necesita para ejecutar cada l´ınea de c´digo. o Las l´ıneas pueden tener distintos tiempos, pero asumeremos que el tiempo de la i-´sima l´ e ınea toma Ci, donde Ci es constante. Roberto Carlos Abreu D´ ıaz An´lisis de Algoritmos a
  • 9. Outline Modelos de referencia An´lisis del Insertion Sort a Crecimiento de funciones Pseudoc´digo o Notaci´n Theta o Notaci´n Big Oh o Notaci´n Omega o Notaci´n Small o o Pseudoc´digo o Las l´ ıneas donde est´n definidos los bucles se ejecutan una vez a m´s que el cuerpo del bucle mismo. ¿Por qu´? a e El tiempo de ejecuci´n del algoritmo es la suma de los o tiempos de ejecuci´n de cada sentencia ejecutada. Una o sentencia que tome Cx tiempo An´lisis de Algoritmos veces contribuye Roberto Carlos Abreu D´ ıaz ya se repita n
  • 10. Outline Modelos de referencia An´lisis del Insertion Sort a Crecimiento de funciones Pseudoc´digo o Notaci´n Theta o Notaci´n Big Oh o Notaci´n Omega o Notaci´n Small o o Tiempo de ejecuci´n del Insertion Sort o Sumando los productos anteriores (costo x veces) llegamos a la siguiente f´rmula: o T(n) = c1 n + c2 (n − 1) + c4 (n − 1) + c5 n tj + j=2 c6 n (tj − 1) + c7 n (tj − 1) + c8 (n − 1) j=2 j=2 Roberto Carlos Abreu D´ ıaz An´lisis de Algoritmos a
  • 11. Outline Modelos de referencia An´lisis del Insertion Sort a Crecimiento de funciones Pseudoc´digo o Notaci´n Theta o Notaci´n Big Oh o Notaci´n Omega o Notaci´n Small o o Tiempo de ejecuci´n del Insertion Sort (2) o Notando que: n n(n+1) j=2 tj = 2 −1 y n n(n+1) j=2 (tj − 1) = 2 Entonces: T(n) = c1 n + c2 (n − 1) + c4 (n − 1) + c5 ( n(n+1) − 1) + c6 ( n(n+1)) + c7 ( n(n+1) ) 2 2 2 T(n) T(n) = ( c25 + c26 + c27 )n2 +(c1 +c2 +c4 + c25 − c26 − c27 +c8 )n−(c2 +c4 +c5 +c8 ) Roberto Carlos Abreu D´ ıaz An´lisis de Algoritmos a
  • 12. Outline Modelos de referencia An´lisis del Insertion Sort a Crecimiento de funciones Pseudoc´digo o Notaci´n Theta o Notaci´n Big Oh o Notaci´n Omega o Notaci´n Small o o Este tiempo de ejecuci´n puede ser expresado de la forma o an2 + bn + c para las constantes a, b y c que dependen de los costos ci . Por lo tanto, es una funci´n cuadr´tica o a Generalmente nos interesamos por el peor tiempo de ejecuci´n o de los algoritmos, porque... (1) Es un l´ ımite superior, garantiza que el algoritmo no exceder´ tal l´ a ımite (2) El peor de los casos ocurre frecuentemente. Considera el ejemplo de una b´squeda en una base de datos. u (3) El caso promedio es dif´ de especificar y termina siendo ıcil una funci´n similar a la del peor de los casos o Roberto Carlos Abreu D´ ıaz An´lisis de Algoritmos a
  • 13. Outline Modelos de referencia An´lisis del Insertion Sort a Crecimiento de funciones Notaci´n Theta o Notaci´n Big Oh o Notaci´n Omega o Notaci´n Small o o Crecimiento de funciones En el an´lisis de algoritmos nos interesa la proporci´n o orden a o de crecimiento. Este orden de crecimiento es el t´rmino de mayor orden del e polinomio que expresa el tiempo de ejecuci´n (n2 en el caso o del ordenamiento por inserci´n o Esto es porque, a medida que n crece, los otros t´rminos no e aportan tanto. En el caso del ordenamiento por inserci´n, decimos entonces o que su tiempo de ejecuci´n en el peor de los casos es de orden o θ(n2 ) Hay distintas notaciones para expresar el tiempo de ejecuci´n... o Roberto Carlos Abreu D´ ıaz An´lisis de Algoritmos a
  • 14. Outline Modelos de referencia An´lisis del Insertion Sort a Crecimiento de funciones Notaci´n Theta o Notaci´n Big Oh o Notaci´n Omega o Notaci´n Small o o Notaci´n Theta o Dada una funci´n g (n), decimos por Θ(g (n)) el conjunto de o funciones Θ(g (n)) = {f(n): existen constantes positivas c1 , c2 yn0 tal que 0 <= c1 g (n) <= f (n) <= c2 g (n) para todas las n => n0} O sea Una funci´n f(n) pertenece al conjunto Θ(g (n)) si existen o constante c1 yc2 tal que pueda estar en el medio entre c1 g (n)yc2 g (n), para una n suficientemente grande. Al decir f(n) = Θ(g (n)) se debe leer ”f(n) es del orden Θ(g (n))” Roberto Carlos Abreu D´ ıaz An´lisis de Algoritmos a
  • 15. Outline Modelos de referencia An´lisis del Insertion Sort a Crecimiento de funciones Notaci´n Theta o Notaci´n Big Oh o Notaci´n Omega o Notaci´n Small o o Roberto Carlos Abreu D´ ıaz An´lisis de Algoritmos a
  • 16. Outline Modelos de referencia An´lisis del Insertion Sort a Crecimiento de funciones Notaci´n Theta o Notaci´n Big Oh o Notaci´n Omega o Notaci´n Small o o Notaci´n Big Oh o Dada una funci´n g (n), denotamos por O(g (n)) el conjunto de o funciones O(g (n)) = {f(n): existen constantes positivas cyn0 tal que f (n) <= cg (n) para todas las n => n0} O sea La notaci´n O s´lo denota un l´ o o ımite superior. Es como decir, ”a lo sumo X”. Por lo tanto, n = O(n2 ). Esto implica tambi´n que al e utilizar la notaci´n O para expresar el peor tiempo de ejecuci´n de o o un algoritmo, tambi´n estamos expresando tiempo de ejecuci´n e o para cada entrada. Al decir f(n) = O(g (n)) se debe leer ”f(n) es del orden O(g (n))” Roberto Carlos Abreu D´ ıaz An´lisis de Algoritmos a
  • 17. Outline Modelos de referencia An´lisis del Insertion Sort a Crecimiento de funciones Notaci´n Theta o Notaci´n Big Oh o Notaci´n Omega o Notaci´n Small o o Roberto Carlos Abreu D´ ıaz An´lisis de Algoritmos a
  • 18. Outline Modelos de referencia An´lisis del Insertion Sort a Crecimiento de funciones Notaci´n Theta o Notaci´n Big Oh o Notaci´n Omega o Notaci´n Small o o Notaci´n Omega o Dada una funci´n g (n), denotamos por Ω(g (n)) el conjunto de o funciones Ω(g (n)) = {f(n): existen constantes positivas cyn0 tal que 0 <= cg (n) <= f (n) para todas las n => n0} O sea As´ como O(g(n)) expresa un l´ ı ımite asint´tico superior, Ω(g (n)) o exprea un l´ ımite asint´tico inferior. Esto implica, similar a Big Oh, o que al expresar el mejor tiempo de ejecuci´n con Ω tambi´n o e estamos expresando el tiempo de ejecuci´n de todas las entradas. o Ejemplo: El tiempo de ejecuci´n del insertion-sort cae entre o Ω(n)yO(n2 ). Al decir f(n) = Ω(g (n)) se debe leer ”f(n) es del orden Ω(g (n))” Roberto Carlos Abreu D´ ıaz An´lisis de Algoritmos a
  • 19. Outline Modelos de referencia An´lisis del Insertion Sort a Crecimiento de funciones Notaci´n Theta o Notaci´n Big Oh o Notaci´n Omega o Notaci´n Small o o Small o Dada una funci´n g (n), denotamos por o(g (n)) el conjunto de o funciones o(g (n)) = {f(n): existen constantes positivas cyn0 tal que 0 <= f (n) < cg (n) para todas las n => n0} O sea Small o representa, a diferencia de Big O, un l´ ımite asint´tico o superior pero no fuerte. Ejemplo: 2n = o(n2 ) pero no 2n2 = o(n2 ) Al decir f(n) = o(g (n)) se debe leer ”f(n) es del orden o(g (n))” Roberto Carlos Abreu D´ ıaz An´lisis de Algoritmos a